1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 05:09:24 +00:00

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]

(From OE-Core rev: 756d6419f10d388c5daa63b7607e580d8b5079f1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang
2019-03-07 11:41:21 +08:00
committed by Richard Purdie
parent 856d620755
commit b25608d491
+15 -5
View File
@@ -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 checking: la" % d.getVar('PN'))
skip_la = True
skip_pkgconfig = False
if 'pkgconfig' in skip:
bb.note("Recipe %s skipping qa checking: 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")
}