aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2020-07-07 21:37:42 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-07-12 12:20:38 +0100
commit4b2f45c47a5c8c800626f12c14f216a5ab923512 (patch)
tree2a0a3e1ecd19e98ed7641ccc07718bc88f45aef0
parentb3c96103a5063eeefb0c537227eab3f77616b9c0 (diff)
downloadopenembedded-core-contrib-4b2f45c47a5c8c800626f12c14f216a5ab923512.tar.gz
insane: consolidate skipping of temporary do_package files
During the course of do_package_rpm and friends the tools create a top-level CONTROL or DEBIAN directory in the package directory. do_package_qa needs to be aware of these files and ignore them, this was previously done in just one check but instead should be done once when building the file list so all the checks don't see the temporary files. [ YOCTO #13804 ] Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/insane.bbclass13
1 files changed, 8 insertions, 5 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 649aea1da1..89a516882b 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -459,10 +459,6 @@ 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 = bytes(d.getVar('TMPDIR'), encoding="utf-8")
with open(path, 'rb') as f:
file_content = f.read()
@@ -1034,7 +1030,14 @@ python do_package_qa () {
pkgfiles = {}
for pkg in packages:
pkgfiles[pkg] = []
- for walkroot, dirs, files in os.walk(os.path.join(pkgdest, pkg)):
+ pkgdir = os.path.join(pkgdest, pkg)
+ for walkroot, dirs, files in os.walk(pkgdir):
+ # Don't walk into top-level CONTROL or DEBIAN directories as these
+ # are temporary directories created by do_package.
+ if walkroot == pkgdir:
+ for control in ("CONTROL", "DEBIAN"):
+ if control in dirs:
+ dirs.remove(control)
for file in files:
pkgfiles[pkg].append(os.path.join(walkroot, file))