# # old_revision [4363d4f2067c14e0433c8a93cf6595a62ffd8ea1] # # patch "classes/insane.bbclass" # from [3a03bd01885af7a8749b8d7c891e968eadae8bea] # to [52bd5e7c8bced0a26f41f5a38b5f46601b40d988] # ============================================================ --- classes/insane.bbclass 3a03bd01885af7a8749b8d7c891e968eadae8bea +++ classes/insane.bbclass 52bd5e7c8bced0a26f41f5a38b5f46601b40d988 @@ -202,10 +202,13 @@ def package_qa_check_rpath(file,name,d): """ import bb, os scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf') + chrpath = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'chrpath') bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work" bad_dir_test = bb.data.getVar('TMPDIR', d, True) if not os.path.exists(scanelf): - bb.fatal("Can not check RPATH scanelf not found") + bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found") + if not os.path.exists(chrpath): + bb.fatal("Can not fix RPATH, chrpath (part of chrpath-native) not found") if not bad_dir in bb.data.getVar('WORKDIR', d, True): bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check") @@ -215,7 +218,9 @@ def package_qa_check_rpath(file,name,d): if bad_dir_test in line: package_qa_write_error( 1, name, file, d) bb.error("QA Issue package %s contains bad RPATH %s in file %s" % (name, line, file)) - return False + bb.note("Fixing RPATH for you in %s" % file) + os.popen("%s -r /lib %s" % (chrpath,file)) + return True return True def package_qa_check_devdbg(path, name,d):