summaryrefslogtreecommitdiffstats
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
parentae9102bda398359736ae0d46db388af51141d361 (diff)
downloadpoky-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>
-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 () {
980 980
981 # Scan the packages... 981 # Scan the packages...
982 pkgdest = d.getVar('PKGDEST', True) 982 pkgdest = d.getVar('PKGDEST', True)
983 packages = d.getVar('PACKAGES', True) 983 packages = set((d.getVar('PACKAGES', True) or '').split())
984 984
985 cpath = oe.cachedpath.CachedPath() 985 cpath = oe.cachedpath.CachedPath()
986 global pkgfiles 986 global pkgfiles
987 pkgfiles = {} 987 pkgfiles = {}
988 for pkg in (packages or "").split(): 988 for pkg in packages:
989 pkgfiles[pkg] = [] 989 pkgfiles[pkg] = []
990 for walkroot, dirs, files in cpath.walk(pkgdest + "/" + pkg): 990 for walkroot, dirs, files in cpath.walk(pkgdest + "/" + pkg):
991 for file in files: 991 for file in files:
@@ -1009,7 +1009,7 @@ python do_package_qa () {
1009 walk_sane = True 1009 walk_sane = True
1010 rdepends_sane = True 1010 rdepends_sane = True
1011 deps_sane = True 1011 deps_sane = True
1012 for package in packages.split(): 1012 for package in packages:
1013 skip = (d.getVar('INSANE_SKIP_' + package, True) or "").split() 1013 skip = (d.getVar('INSANE_SKIP_' + package, True) or "").split()
1014 if skip: 1014 if skip:
1015 bb.note("Package %s skipping QA tests: %s" % (package, str(skip))) 1015 bb.note("Package %s skipping QA tests: %s" % (package, str(skip)))