aboutsummaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorHolger Freyther <zecke@selfish.org>2006-10-25 19:25:07 +0000
committerHolger Freyther <zecke@selfish.org>2006-10-25 19:25:07 +0000
commit1268ed3f3ae0a76383e03b5c373b82c551c213a6 (patch)
treec336c63429c67a228f2357765cb715e156524dad /classes
parent44a1eb8b2afb70b554fd48bbd20685c66e9bd33c (diff)
downloadopenembedded-1268ed3f3ae0a76383e03b5c373b82c551c213a6.tar.gz
classes/insane.bbclass: Check if packages RDEPENDS on -dbg packages
Untested check inspired by Richard to check if non debug packages depends on -dbg packages.
Diffstat (limited to 'classes')
-rw-r--r--classes/insane.bbclass33
1 files changed, 33 insertions, 0 deletions
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index 55f7721153..062b1505b1 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -90,6 +90,37 @@ def package_qa_walk(path, funcs, package,d):
func(path, package,d)
+def package_qa_check_rdepends(pkg, d):
+ if not "-dbg" in pkg and not "task-" in pkg and not "-image" in pkg:
+ # Copied from package_ipk.bbclass
+ # boiler plate to update the data
+ localdata = bb.data.createCopy(d)
+ root = "%s/install/%s" % (workdir, pkg)
+
+ bb.data.setVar('ROOT', '', localdata)
+ bb.data.setVar('ROOT_%s' % pkg, root, localdata)
+ pkgname = bb.data.getVar('PKG_%s' % pkg, localdata, 1)
+ if not pkgname:
+ pkgname = pkg
+ bb.data.setVar('PKG', pkgname, localdata)
+
+ overrides = bb.data.getVar('OVERRIDES', localdata)
+ if not overrides:
+ raise bb.build.FuncFailed('OVERRIDES not defined')
+ overrides = bb.data.expand(overrides, localdata)
+ bb.data.setVar('OVERRIDES', overrides + ':' + pkg, localdata)
+
+ bb.data.update_data(localdata)
+
+ # Now check the RDEPENDS
+ rdepends = explode_deps(bb.data.getVar('RDEPENDS', localdata, True) or "")
+
+
+ # Now do the sanity check!!!
+ for rdepend in rdepends:
+ if "-dbg" in rdepend:
+ bb.error("QA issue, koen give us a better msg!!!")
+
# The PACKAGE FUNC to scan each package
python do_package_qa () {
bb.note("DO PACKAGE QA")
@@ -104,6 +135,8 @@ python do_package_qa () {
bb.note("Package: %s" % package)
path = "%s/install/%s" % (workdir, package)
package_qa_walk(path, [package_qa_check_rpath, package_qa_check_devdbg, package_qa_check_perm, package_qa_check_arch], package, d)
+ package_qa_check_rdepends(package, d)
+
}