From: Robert Yang Date: Tue, 19 Jan 2016 08:13:39 +0000 (-0800) Subject: insane.bbclass:buildpaths: ignore ipkg/dpkg's CONTROL dir X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f64ebcfe0c25112e34bb58871d95b3d463d8b07;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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. Signed-off-by: Robert Yang --- diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index ba9c6511fd3..c16e6ad04ba 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -584,6 +584,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()