aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/insane.bbclass
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2015-06-15 18:05:13 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-23 11:46:57 +0100
commitf677b5893d5c7e41d3c97ee31aa743aefd40d6cf (patch)
treeb0b170ec7831b9301072416475a49e17442424f3 /meta/classes/insane.bbclass
parentae9102bda398359736ae0d46db388af51141d361 (diff)
downloadopenembedded-core-contrib-f677b5893d5c7e41d3c97ee31aa743aefd40d6cf.tar.gz
insane.bbclass: fix false negative in build-deps QA check
When a recipe called 'foobar-test' links against 'foobar' without listing that in DEPENDS, the build-deps check misses that error because it looks for 'foobar' in a package string containing (among others) the 'foobar-test' name, leading to the incorrect conclusion that the package is listed as dependency. The 'packages' string needs to be split into individual package names before the check. Doing that once directly after reading the value is more efficient than splitting inside package_qa_check_rdepends() because the caller also needs the individual components. Also use a set to speed up the 'package in packages' check. (From OE-Core rev: 9f5792088315ab42f77fe1a1af7d2225e7ad5418) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/insane.bbclass')
-rw-r--r--meta/classes/insane.bbclass6
1 files changed, 3 insertions, 3 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index dc891d5490..a11085313b 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -980,12 +980,12 @@ python do_package_qa () {
# Scan the packages...
pkgdest = d.getVar('PKGDEST', True)
- packages = d.getVar('PACKAGES', True)
+ packages = set((d.getVar('PACKAGES', True) or '').split())
cpath = oe.cachedpath.CachedPath()
global pkgfiles
pkgfiles = {}
- for pkg in (packages or "").split():
+ for pkg in packages:
pkgfiles[pkg] = []
for walkroot, dirs, files in cpath.walk(pkgdest + "/" + pkg):
for file in files:
@@ -1009,7 +1009,7 @@ python do_package_qa () {
walk_sane = True
rdepends_sane = True
deps_sane = True
- for package in packages.split():
+ for package in packages:
skip = (d.getVar('INSANE_SKIP_' + package, True) or "").split()
if skip:
bb.note("Package %s skipping QA tests: %s" % (package, str(skip)))