From patchwork Wed Jan 19 19:21:53 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: insane bbclass: extend RPATH check to cover sysroots as well Date: Wed, 19 Jan 2011 19:21:53 -0000 From: Koen Kooi X-Patchwork-Id: 323 Message-Id: <1295464913-2642-1-git-send-email-koen@openembedded.org> To: openembedded-devel@lists.openembedded.org Cc: Koen Kooi * Having rpath to sysroot is just as bad as one to workdir Based on insane.bbclass from yocto Signed-off-by: Koen Kooi Acked-by: Martin Jansa --- classes/insane.bbclass | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/classes/insane.bbclass b/classes/insane.bbclass index 677db27..50752b5 100644 --- a/classes/insane.bbclass +++ b/classes/insane.bbclass @@ -160,20 +160,21 @@ def package_qa_check_rpath(file,name,d, elf): import bb, os sane = True scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf') - bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work" + bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work", bb.data.getVar('STAGING_DIR_TARGET', d, True)] bad_dir_test = bb.data.getVar('TMPDIR', d, True) if not os.path.exists(scanelf): bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found") - if not bad_dir in bb.data.getVar('WORKDIR', d, True): + if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True): bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check") output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file)) txt = output.readline().split() for line in txt: - if bad_dir in line: - error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file) - sane = package_qa_handle_error(1, error_msg, name, file, d) + for dir in bad_dirs: + if dir in line: + error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file) + sane = sane + package_qa_handle_error(1, error_msg, name, file, d) return sane