[oe] [PATCH] Teach insane.bbclass to ignore SDK packages wrt -dev and .so check

Tom Rini trini at kernel.crashing.org
Thu Apr 23 17:59:28 UTC 2009


With the change to make having libfoo.so symlinks in the main package
become fatal (along with GNU_HASH) SDK stuff is broken now.  At Richard's
suggestion, the following patch teaches insane.bbclass to not run the
-dev check on sdk||canadian-sdk recipes.

I did this by splitting the devdbg check into two separate checks
(rather than re-order the checks as we do want to pull dbg stuff out).
This also clarifies the comments to both.  As an aside, yes we bail out
if say a file named Kconfig.debug ends up in a package.

Signed-off-by: Tom Rini <trini at embeddedalley.com>

diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index 584a5f1..cc881dc 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -250,21 +250,35 @@ def package_qa_check_rpath(file,name,d, elf):
 
     return sane
 
-def package_qa_check_devdbg(path, name,d, elf):
+def package_qa_check_dev(path, name,d, elf):
     """
-    Check for debug remains inside the binary or
-    non dev packages containing
+    Check for ".so" library symlinks in non-dev packages
     """
 
     import bb, os
     sane = True
 
+    # SDK packages are special.
+    for s in ['sdk', 'canadian-sdk']:
+        if bb.data.inherits_class(s, d):
+            return True
+
     if not "-dev" in name:
         if path[-3:] == ".so" and os.path.islink(path):
             error_msg = "non -dev package contains symlink .so: %s path '%s'" % \
                      (name, package_qa_clean_path(path,d))
             sane = package_qa_handle_error(0, error_msg, name, path, d)
 
+    return sane
+
+def package_qa_check_dbg(path, name,d, elf):
+    """
+    Check for ".debug" files or directories outside of the dbg package
+    """
+
+    import bb, os
+    sane = True
+
     if not "-dbg" in name:
         if '.debug' in path:
             error_msg = "non debug package contains .debug directory: %s path %s" % \
@@ -493,9 +507,10 @@ python do_package_qa () {
     if not packages:
         return
 
-    checks = [package_qa_check_rpath, package_qa_check_devdbg,
+    checks = [package_qa_check_rpath, package_qa_check_dev,
               package_qa_check_perm, package_qa_check_arch,
-              package_qa_check_desktop, package_qa_hash_style]
+              package_qa_check_desktop, package_qa_hash_style,
+              package_qa_check_dbg]
     walk_sane = True
     rdepends_sane = True
     for package in packages.split():

-- 
Tom Rini




More information about the Openembedded-devel mailing list