[oe-commits] Paul Eggleton : classes/chrpath: improve chrpath failure handling

git at git.openembedded.org git at git.openembedded.org
Fri Aug 17 14:30:08 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: 99815eddd4e1eb5d939831704231537dd5a995ad
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=99815eddd4e1eb5d939831704231537dd5a995ad

Author: Paul Eggleton <paul.eggleton at linux.intel.com>
Date:   Fri Aug 17 14:26:33 2012 +0100

classes/chrpath: improve chrpath failure handling

When chrpath fails, prefix the error message with the name of the recipe
that is being processed, and include the the output from chrpath, as
well as making the calling task actually fail.

Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/chrpath.bbclass |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
index ad61fe0..8922248 100644
--- a/meta/classes/chrpath.bbclass
+++ b/meta/classes/chrpath.bbclass
@@ -74,9 +74,11 @@ def process_dir (directory, d):
             if len(new_rpaths):
                 args = ":".join(new_rpaths)
                 #bb.note("Setting rpath for %s to %s" %(fpath, args))
-                ret = sub.call([cmd, '-r', args, fpath])
-                if ret != 0:
-                    bb.error("chrpath command failed with exit code %d" % ret)
+                p = sub.Popen([cmd, '-r', args, fpath],stdout=sub.PIPE,stderr=sub.PIPE)
+                out, err = p.communicate()
+                if p.returncode != 0:
+                    bb.error("%s: chrpath command failed with exit code %d:\n%s%s" % (d.getVar('PN', True), p.returncode, out, err))
+                    raise bb.build.FuncFailed
 
             if perms:
                 os.chmod(fpath, perms)





More information about the Openembedded-commits mailing list