From c0f7327fe54df3dd65b7650175968e8231f712f1 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Wed, 6 Mar 2019 14:27:26 +0800 Subject: insane.bbclass: Make INSANE_SKIP work for qa pkgconfig and la The INSANE_SKIP = "pkgconfig" or "la" didn't work, this patch fixes the problem. [YOCTO #13087] Signed-off-by: Robert Yang --- meta/classes/insane.bbclass | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 6411884f92..fd9c5f02ef 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -570,7 +570,7 @@ python populate_lic_qa_checksum() { bb.fatal("Fatal QA errors found, failing task.") } -def package_qa_check_staged(path,d): +def qa_check_staged(path,d): """ Check staged la and pc files for common problems like references to the work directory. @@ -589,20 +589,31 @@ def package_qa_check_staged(path,d): else: pkgconfigcheck = tmpdir + skip = (d.getVar('INSANE_SKIP') or "").split() + skip_la = False + if 'la' in skip: + bb.note("Recipe %s skipping qa chekcing: la" % d.getVar('PN')) + skip_la = True + + skip_pkgconfig = False + if 'pkgconfig' in skip: + bb.note("Recipe %s skipping qa chekcing: pkgconfig" % d.getVar('PN')) + skip_pkgconfig = True + # find all .la and .pc files # read the content # and check for stuff that looks wrong for root, dirs, files in os.walk(path): for file in files: path = os.path.join(root,file) - if file.endswith(".la"): + if file.endswith(".la") and not skip_la: with open(path) as f: file_content = f.read() file_content = file_content.replace(recipesysroot, "") if workdir in file_content: error_msg = "%s failed sanity test (workdir) in path %s" % (file,root) sane &= package_qa_handle_error("la", error_msg, d) - elif file.endswith(".pc"): + elif file.endswith(".pc") and not skip_pkgconfig: with open(path) as f: file_content = f.read() file_content = file_content.replace(recipesysroot, "") @@ -1034,8 +1045,7 @@ addtask do_package_qa_setscene python do_qa_staging() { bb.note("QA checking staging") - - if not package_qa_check_staged(d.expand('${SYSROOT_DESTDIR}${libdir}'), d): + if not qa_check_staged(d.expand('${SYSROOT_DESTDIR}${libdir}'), d): bb.fatal("QA staging was broken by the package built above") } -- cgit 1.2.3-korg