From: Paul Eggleton Date: Fri, 17 Aug 2012 13:26:33 +0000 (+0100) Subject: classes/chrpath: improve chrpath failure handling X-Git-Tag: 2015-4~9530 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=99815eddd4e1eb5d939831704231537dd5a995ad;p=openembedded-core.git 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 Signed-off-by: Richard Purdie --- diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass index ad61fe09ea..89222484b8 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)