summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2012-05-23 15:24:37 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-25 11:18:03 +0100
commitd03e29fec2c596894d01114d913e03fb9b6af482 (patch)
treef29f1d54b0a3303069247794692a70f116e705f8 /meta/classes
parent4f3f575a35b162f368f2f8006e009daeee550937 (diff)
downloadast2050-yocto-poky-d03e29fec2c596894d01114d913e03fb9b6af482.zip
ast2050-yocto-poky-d03e29fec2c596894d01114d913e03fb9b6af482.tar.gz
package.bbclass: Add additional debugging for dependencies
When trying to understand why a QA wanring such as: ERROR: QA Issue: foo rdepends on bar-dev it is very difficult to figure out where the bar-dev dependency comes from, since many of them are added dynamically. This adds a debug statement that says which dependency adds an rdepends to the system. Also, while doing this work, it was noted that the same dependencies were being scanned for over and over. Instead we shorten the list by only added to the dep list if the dependency was not already there. (From OE-Core rev: 257b9e371143421b78a6991ef5401e564918c164) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/package.bbclass7
1 files changed, 5 insertions, 2 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 6fba5b6..8b0ac55 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1266,7 +1266,8 @@ python package_do_shlibs() {
for l in lines:
m = re.match("\s+NEEDED\s+([^\s]*)", l)
if m:
- needed[pkg].append(m.group(1))
+ if m.group(1) not in needed[pkg]:
+ needed[pkg].append(m.group(1))
m = re.match("\s+SONAME\s+([^\s]*)", l)
if m:
this_soname = m.group(1)
@@ -1338,7 +1339,7 @@ python package_do_shlibs() {
name = dep.replace("-l", "lib")
if pkg not in needed:
needed[pkg] = []
- if name:
+ if name and name not in needed[pkg]:
needed[pkg].append(name)
#bb.note("Adding %s for %s" % (name, pkg))
@@ -1443,6 +1444,8 @@ python package_do_shlibs() {
if n in shlib_provider.keys():
(dep_pkg, ver_needed) = shlib_provider[n]
+ bb.debug(2, '%s: Dependency %s requires package %s' % (pkg, n, dep_pkg))
+
if dep_pkg == pkg:
continue
OpenPOWER on IntegriCloud