insane.bbclass:buildpaths: ignore ipkg/dpkg's CONTROL dir

Fixed race issue when:
WARN_QA_append = " buildpaths"
PACKAGE_CLASSES = "package_ipk"
$ bitbake e2fsprogs

[snip]
 *** 0595:    with open(path) as f:
     0596:        file_content = f.read()
     0597:        if tmpdir in file_content:
     0598:            messages["buildpaths"] = "File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d)
     0599:
Exception: IOError: [Errno 2] No such file or directory: '/path/to/tmp/work/core2-64-poky-linux/e2fsprogs/1.42.9-r0/packages-split/e2fsprogs-ptest/CONTROL/control'

The similar to package_deb.

(From OE-Core rev: cd4313339853d2eddebf93a49d0f45a305985a31)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang 2016-01-19 00:13:39 -08:00 committed by Richard Purdie
parent 258676bfa7
commit 68c5e6d4d0
1 changed files with 4 additions and 0 deletions

View File

@ -585,6 +585,10 @@ def package_qa_check_buildpaths(path, name, d, elf, messages):
if os.path.islink(path):
return
# Ignore ipk and deb's CONTROL dir
if path.find(name + "/CONTROL/") != -1 or path.find(name + "/DEBIAN/") != -1:
return
tmpdir = d.getVar('TMPDIR', True)
with open(path) as f:
file_content = f.read()