diff options
author | Patrick Ohly <patrick.ohly@intel.com> | 2015-06-15 18:05:13 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-06-23 11:46:57 +0100 |
commit | f677b5893d5c7e41d3c97ee31aa743aefd40d6cf (patch) | |
tree | b0b170ec7831b9301072416475a49e17442424f3 | |
parent | ae9102bda398359736ae0d46db388af51141d361 (diff) | |
download | poky-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.bbclass | 6 |
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))) |