[oe-commits] Mark Hatle : package.bbclass: Add additional debugging for dependencies

git at git.openembedded.org git at git.openembedded.org
Fri May 25 10:19:09 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: 257b9e371143421b78a6991ef5401e564918c164
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=257b9e371143421b78a6991ef5401e564918c164

Author: Mark Hatle <mark.hatle at windriver.com>
Date:   Wed May 23 15:24:37 2012 -0500

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.

Signed-off-by: Mark Hatle <mark.hatle at windriver.com>

---

 meta/classes/package.bbclass |    7 +++++--
 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
 





More information about the Openembedded-commits mailing list