Patchwork [RFC,1/1] insane.bbclass: add qa check to ensure declared packages exist

login
register
mail settings
Submitter Joshua Lock
Date Oct. 11, 2011, 10:29 p.m.
Message ID <8ed04d4eed9093c6cb12303ffe1efd0eadaa7df2.1318371066.git.josh@linux.intel.com>
Download mbox | patch
Permalink /patch/13019/
State New, archived
Headers show

Comments

Joshua Lock - Oct. 11, 2011, 10:29 p.m.
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 |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

Patch

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index b861e85..ccc0d1c 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -520,6 +520,8 @@  python do_package_qa () {
     g = globals()
     walk_sane = True
     rdepends_sane = True
+    exists = True
+
     for package in packages.split():
         skip = (bb.data.getVar('INSANE_SKIP_' + package, d, True) or "").split()
         if skip:
@@ -539,13 +541,18 @@  python do_package_qa () {
 
         bb.note("Checking Package: %s" % package)
         path = "%s/%s" % (pkgdest, package)
+        if 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")
 }