aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2017-01-10 19:46:09 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-16 18:01:55 +0000
commit7f68001579c08509332d633b27b5c2ea9386b6c9 (patch)
tree13d185dbd92d6f1cf1d9e5d8b7763f038d7cb652
parent2e05d9709f1308fc95d3406b8a409ea982c5b474 (diff)
downloadopenembedded-core-contrib-7f68001579c08509332d633b27b5c2ea9386b6c9.tar.gz
wic: _exec_cmd: produce error if exit code is not 0
Current code doesn't always show error output of the external command and even ignores non-zero exit code. Moved checking of exit code value to the lowest level possible: to _exec_cmd. This should make wic to always check exit code of the external command and issue an error if it's not 0. [YOCTO #10816] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--scripts/lib/wic/utils/oe/misc.py14
1 files changed, 4 insertions, 10 deletions
diff --git a/scripts/lib/wic/utils/oe/misc.py b/scripts/lib/wic/utils/oe/misc.py
index 73d8c225ad..727d519840 100644
--- a/scripts/lib/wic/utils/oe/misc.py
+++ b/scripts/lib/wic/utils/oe/misc.py
@@ -70,6 +70,10 @@ def _exec_cmd(cmd_and_args, as_shell=False, catch=3):
else:
ret, out = runner.runtool(args, catch)
out = out.strip()
+ if ret != 0:
+ msger.error("_exec_cmd: %s returned '%s' instead of 0\noutput: %s" % \
+ (cmd_and_args, ret, out))
+
msger.debug("_exec_cmd: output for %s (rc = %d): %s" % \
(cmd_and_args, ret, out))
@@ -84,10 +88,6 @@ def exec_cmd(cmd_and_args, as_shell=False, catch=3):
"""
ret, out = _exec_cmd(cmd_and_args, as_shell, catch)
- if ret != 0:
- msger.error("exec_cmd: %s returned '%s' instead of 0" % \
- (cmd_and_args, ret))
-
return out
def exec_native_cmd(cmd_and_args, native_sysroot, catch=3, pseudo=""):
@@ -131,12 +131,6 @@ def exec_native_cmd(cmd_and_args, native_sysroot, catch=3, pseudo=""):
msg += "Wic failed to find a recipe to build native %s. Please "\
"file a bug against wic.\n" % prog
msger.error(msg)
- if out:
- msger.debug('"%s" output: %s' % (args[0], out))
-
- if ret != 0:
- msger.error("exec_cmd: '%s' returned '%s' instead of 0" % \
- (cmd_and_args, ret))
return ret, out