summaryrefslogtreecommitdiff
path: root/classes/insane.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'classes/insane.bbclass')
-rw-r--r--classes/insane.bbclass39
1 files changed, 36 insertions, 3 deletions
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index ead718db7f..062b1505b1 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -50,11 +50,11 @@ def package_qa_check_devdbg(path, name,d):
import bb
if not "-dev" in name:
if path[-3:] == ".so":
- bb.error("QA Issue: non dev package contains .so")
+ bb.error("QA Issue: non dev package contains .so: %s" % name)
if not "-dbg" in name:
- if path[-4:] == ".dbg":
- bb.error("QA Issue: non debug package contains .dbg file")
+ if '.debug' in path:
+ bb.error("QA Issue: non debug package contains .dbg file: %s" % name)
def package_qa_check_perm(path,name,d):
"""
@@ -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)
+
}