[oe-commits] [openembedded-core] 37/50: combo-layer: runcmd() enhancements

git at git.openembedded.org git at git.openembedded.org
Mon May 9 07:13:27 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 0af4fadafce690fc8357196cf7247bd222c08d10
Author: Patrick Ohly <patrick.ohly at intel.com>
AuthorDate: Mon May 2 15:27:27 2016 +0200

    combo-layer: runcmd() enhancements
    
    Allow setting the environment. Due to a subprocess quirk, it must
    always be set explicitly (reuses the one from the previous call if not
    set, instead of falling back to os.environ).
    
    Embedding nul characters will be useful for parsing git output more
    reliably; support dumping such output a bit better.
    
    Signed-off-by: Patrick Ohly <patrick.ohly at intel.com>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 scripts/combo-layer | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/scripts/combo-layer b/scripts/combo-layer
index 41d69f8..9297d59 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -174,7 +174,7 @@ class Configuration(object):
             logger.error("ERROR: patchutils package is missing, please install it (e.g. # apt-get install patchutils)")
             sys.exit(1)
 
-def runcmd(cmd,destdir=None,printerr=True,out=None):
+def runcmd(cmd,destdir=None,printerr=True,out=None,env=None):
     """
         execute command, raise CalledProcessError if fail
         return output if succeed
@@ -186,7 +186,7 @@ def runcmd(cmd,destdir=None,printerr=True,out=None):
     else:
         err = os.tmpfile()
     try:
-        subprocess.check_call(cmd, stdout=out, stderr=err, cwd=destdir, shell=isinstance(cmd, str))
+        subprocess.check_call(cmd, stdout=out, stderr=err, cwd=destdir, shell=isinstance(cmd, str), env=env or os.environ)
     except subprocess.CalledProcessError,e:
         err.seek(0)
         if printerr:
@@ -195,7 +195,7 @@ def runcmd(cmd,destdir=None,printerr=True,out=None):
 
     err.seek(0)
     output = err.read()
-    logger.debug("output: %s" % output )
+    logger.debug("output: %s" % output.replace(chr(0), '\\0'))
     return output
 
 def action_init(conf, args):

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list