[oe-commits] Ross Burton : insane: add a check for Xorg driver ABI dependencies

git at git.openembedded.org git at git.openembedded.org
Mon Oct 22 13:58:16 UTC 2012


Module: openembedded-core.git
Branch: master-next
Commit: cffca6f1c8ee0672acbd727d103d8d3a40606c4c
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=cffca6f1c8ee0672acbd727d103d8d3a40606c4c

Author: Ross Burton <ross.burton at intel.com>
Date:   Mon Oct 22 10:37:26 2012 +0100

insane: add a check for Xorg driver ABI dependencies

Now that xserver provides driver ABI names, all drivers should depend on the ABI
version that they have been built against.

All drivers that include xorg-driver-input.inc or xorg-driver-video.inc will get
these automatically, so this should only impact binary drivers.

Signed-off-by: Ross Burton <ross.burton at intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/insane.bbclass |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 71a9a58..29b122e 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -109,7 +109,7 @@ def package_qa_get_machine_dict():
 
 
 # Currently not being used by default "desktop"
-WARN_QA ?= "ldflags useless-rpaths rpaths unsafe-references-in-binaries unsafe-references-in-scripts staticdev libdir"
+WARN_QA ?= "ldflags useless-rpaths rpaths unsafe-references-in-binaries unsafe-references-in-scripts staticdev libdir xorg-driver-abi"
 ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch la2 pkgconfig la perms dep-cmp"
 
 ALL_QA = "${WARN_QA} ${ERROR_QA}"
@@ -496,6 +496,24 @@ def package_qa_check_buildpaths(path, name, d, elf, messages):
     if tmpdir in file_content:
         messages.append("File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d))
 
+
+QAPATHTEST[xorg-driver-abi] = "package_qa_check_xorg_driver_abi"
+def package_qa_check_xorg_driver_abi(path, name, d, elf, messages):
+    """
+    Check that all packages containing Xorg drivers have ABI dependencies
+    """
+
+    # Skip dev, dbg or nativesdk packages
+    if name.endswith("-dev") or name.endswith("-dbg") or name.startswith("nativesdk-"):
+        return
+
+    driverdir = d.expand("${libdir}/xorg/modules/drivers/")
+    if driverdir in path and path.endswith(".so"):
+        for rdep in bb.utils.explode_deps(d.getVar('RDEPENDS_' + name, True) or ""):
+            if rdep.startswith("xorg-abi-"):
+                return
+        messages.append("Package %s contains Xorg driver (%s) but no xorg-abi- dependencies" % (name, os.path.basename(path)))
+
 def package_qa_check_license(workdir, d):
     """
     Check for changes in the license files 





More information about the Openembedded-commits mailing list