summaryrefslogtreecommitdiffstats
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
parent4f3f575a35b162f368f2f8006e009daeee550937 (diff)
downloadpoky-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>
-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 6fba5b6907..8b0ac55b76 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1266,7 +1266,8 @@ python package_do_shlibs() {
1266 for l in lines: 1266 for l in lines:
1267 m = re.match("\s+NEEDED\s+([^\s]*)", l) 1267 m = re.match("\s+NEEDED\s+([^\s]*)", l)
1268 if m: 1268 if m:
1269 needed[pkg].append(m.group(1)) 1269 if m.group(1) not in needed[pkg]:
1270 needed[pkg].append(m.group(1))
1270 m = re.match("\s+SONAME\s+([^\s]*)", l) 1271 m = re.match("\s+SONAME\s+([^\s]*)", l)
1271 if m: 1272 if m:
1272 this_soname = m.group(1) 1273 this_soname = m.group(1)
@@ -1338,7 +1339,7 @@ python package_do_shlibs() {
1338 name = dep.replace("-l", "lib") 1339 name = dep.replace("-l", "lib")
1339 if pkg not in needed: 1340 if pkg not in needed:
1340 needed[pkg] = [] 1341 needed[pkg] = []
1341 if name: 1342 if name and name not in needed[pkg]:
1342 needed[pkg].append(name) 1343 needed[pkg].append(name)
1343 #bb.note("Adding %s for %s" % (name, pkg)) 1344 #bb.note("Adding %s for %s" % (name, pkg))
1344 1345
@@ -1443,6 +1444,8 @@ python package_do_shlibs() {
1443 if n in shlib_provider.keys(): 1444 if n in shlib_provider.keys():
1444 (dep_pkg, ver_needed) = shlib_provider[n] 1445 (dep_pkg, ver_needed) = shlib_provider[n]
1445 1446
1447 bb.debug(2, '%s: Dependency %s requires package %s' % (pkg, n, dep_pkg))
1448
1446 if dep_pkg == pkg: 1449 if dep_pkg == pkg:
1447 continue 1450 continue
1448 1451