From 20521e221942f21f65d045622056b6b9f98e5753 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 7 Jul 2020 21:37:42 +0100 Subject: 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 Signed-off-by: Richard Purdie (cherry picked from commit 4b2f45c47a5c8c800626f12c14f216a5ab923512) Signed-off-by: Steve Sakoman Signed-off-by: Richard Purdie --- meta/classes/insane.bbclass | 13 ++++++++----- 1 file 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)) -- cgit v1.2.3-54-g00ecf