]> code.ossystems Code Review - openembedded-core.git/commitdiff
wic: _exec_cmd: produce error if exit code is not 0
authorEd Bartosh <ed.bartosh@linux.intel.com>
Tue, 10 Jan 2017 17:46:09 +0000 (19:46 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 16 Jan 2017 18:01:55 +0000 (18:01 +0000)
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>
scripts/lib/wic/utils/oe/misc.py

index 73d8c225ad9e68d8689f7499fab60473131569d4..727d51984072259d5b6ce9507c870210d8d4f736 100644 (file)
@@ -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