[OE-core] [PATCH] uninative.bbclass: capture stdout/err from patchelf-uninative
Patrick Ohly
patrick.ohly at intel.com
Thu Feb 11 06:59:42 UTC 2016
When patchelf-uninative fails, reporting only the exit code
as done by subprocess.check_call() is not enough to understand
the problem. We also need to capture and report the output
of the command.
Signed-off-by: Patrick Ohly <patrick.ohly at intel.com>
---
meta/classes/uninative.bbclass | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass
index 580917b..0448cf6 100644
--- a/meta/classes/uninative.bbclass
+++ b/meta/classes/uninative.bbclass
@@ -84,5 +84,11 @@ python uninative_changeinterp () {
continue
#bb.warn("patchelf-uninative --set-interpreter %s %s" % (d.getVar("UNINATIVE_LOADER", True), f))
- subprocess.check_call("patchelf-uninative --set-interpreter %s %s" % (d.getVar("UNINATIVE_LOADER", True), f), shell=True)
+ cmd = "patchelf-uninative --set-interpreter %s %s" % (d.getVar("UNINATIVE_LOADER", True), f)
+ p = subprocess.Popen(cmd, shell=True,
+ stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ stdout, stderr = p.communicate()
+ if p.returncode:
+ bb.fatal("'%s' failed with exit code %d and the following output:\n%s" %
+ (cmd, p.returncode, stdout))
}
--
2.1.4
More information about the Openembedded-core
mailing list