]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
insane.bbclass: add qa check to ensure declared packages exist rfcqacheck
authorJoshua Lock <josh@linux.intel.com>
Tue, 11 Oct 2011 22:04:06 +0000 (15:04 -0700)
committerJoshua Lock <josh@linux.intel.com>
Wed, 30 Nov 2011 18:41:37 +0000 (10:41 -0800)
This patch adds an extra package sanity check to test whether any extra
packages defined by the recipe (i.e. anything other than -dev, -dbg, -doc,
-staticdev and -locale packages) are actually created.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
meta/classes/insane.bbclass

index 5726e69e71ab6cdb4f5b4757b49522f412612c27..d6a1190ce09cb69f980a3c6dd762ada3adfaae73 100644 (file)
@@ -522,6 +522,8 @@ python do_package_qa () {
     g = globals()
     walk_sane = True
     rdepends_sane = True
+    exists = True
+
     for package in packages.split():
         skip = (d.getVar('INSANE_SKIP_' + package, True) or "").split()
         if skip:
@@ -541,13 +543,20 @@ python do_package_qa () {
 
         bb.note("Checking Package: %s" % package)
         path = "%s/%s" % (pkgdest, package)
+        allow_empty = bb.data.getVar('ALLOW_EMPTY_%s' % package, d, True)
+        bb.note("ALLOW_EMPTY_%s is %s" % (package, allow_empty))
+        if not allow_empty and not package.endswith("-dev") and not package.endswith("-dbg") and not package.endswith("-doc") and not package.endswith("-staticdev") and not package.endswith("-locale"):
+            contents_len = os.listdir(path)
+            if not contents_len:
+                bb.error("QA Issue: PACKAGE %s defined but not created" % package)
+                exists = False
         if not package_qa_walk(path, warnchecks, errorchecks, skip, package, d):
             walk_sane  = False
         if not package_qa_check_rdepends(package, pkgdest, skip, d):
             rdepends_sane = False
 
 
-    if not walk_sane or not rdepends_sane:
+    if not walk_sane or not rdepends_sane or not exists:
         bb.fatal("QA run found fatal errors. Please consider fixing them.")
     bb.note("DONE with PACKAGE QA")
 }