summaryrefslogtreecommitdiffstats
path: root/meta/classes/insane.bbclass
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:21:47 +0100
commit91887161038898bab91561384d7eec18b90e1fd8 (patch)
treec1d6dc3247fd440c30ee85410ffa5632528d4553 /meta/classes/insane.bbclass
parent75c3ab048b6448467570838e9c6a8e7628e5de15 (diff)
downloadpoky-91887161038898bab91561384d7eec18b90e1fd8.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 ] (From OE-Core rev: 4b2f45c47a5c8c800626f12c14f216a5ab923512) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/insane.bbclass')
-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):
459 if os.path.islink(path): 459 if os.path.islink(path):
460 return 460 return
461 461
462 # Ignore ipk and deb's CONTROL dir
463 if path.find(name + "/CONTROL/") != -1 or path.find(name + "/DEBIAN/") != -1:
464 return
465
466 tmpdir = bytes(d.getVar('TMPDIR'), encoding="utf-8") 462 tmpdir = bytes(d.getVar('TMPDIR'), encoding="utf-8")
467 with open(path, 'rb') as f: 463 with open(path, 'rb') as f:
468 file_content = f.read() 464 file_content = f.read()
@@ -1034,7 +1030,14 @@ python do_package_qa () {
1034 pkgfiles = {} 1030 pkgfiles = {}
1035 for pkg in packages: 1031 for pkg in packages:
1036 pkgfiles[pkg] = [] 1032 pkgfiles[pkg] = []
1037 for walkroot, dirs, files in os.walk(os.path.join(pkgdest, pkg)): 1033 pkgdir = os.path.join(pkgdest, pkg)
1034 for walkroot, dirs, files in os.walk(pkgdir):
1035 # Don't walk into top-level CONTROL or DEBIAN directories as these
1036 # are temporary directories created by do_package.
1037 if walkroot == pkgdir:
1038 for control in ("CONTROL", "DEBIAN"):
1039 if control in dirs:
1040 dirs.remove(control)
1038 for file in files: 1041 for file in files:
1039 pkgfiles[pkg].append(os.path.join(walkroot, file)) 1042 pkgfiles[pkg].append(os.path.join(walkroot, file))
1040 1043