From 87e744791e59806d0c87b37d72ff32a96bbcb929 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Thu, 11 Feb 2016 07:59:42 +0100 Subject: uninative.bbclass: capture stdout/err from patchelf-uninative 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 Signed-off-by: Richard Purdie --- 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 580917b119..0448cf6cdc 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)) } -- cgit 1.2.3-korg