summaryrefslogtreecommitdiffstats
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-22 22:46:37 +0100
commit20521e221942f21f65d045622056b6b9f98e5753 (patch)
tree6b5af2558a093076326ca98784076834017d61a5
parent8ed73ebee75eeb18ac016d76199a2faf9c6081c5 (diff)
downloadpoky-20521e221942f21f65d045622056b6b9f98e5753.tar.gz
poky-20521e221942f21f65d045622056b6b9f98e5753.tar.bz2
poky-20521e221942f21f65d045622056b6b9f98e5753.zip
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 ] (From OE-Core rev: 0dbdcd305a969b67415ed74c3286af02612bd64c) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 4b2f45c47a5c8c800626f12c14f216a5ab923512) Signed-off-by: Steve Sakoman <steve@sakoman.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 3a0efa3ad6..1d76ae7c1d 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -458,10 +458,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()
@@ -1023,7 +1019,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))