summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2012-10-22 10:37:26 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-10-23 12:27:14 +0100
commit800b256390b22c3d3d8d6a69f6fb668376a5030b (patch)
treeed8c37f9f63482b532893f000a59221883291bd7
parent8ef5f205aec04140198d5ba0f5c405ae6e977dbe (diff)
downloadopenembedded-core-800b256390b22c3d3d8d6a69f6fb668376a5030b.tar.gz
openembedded-core-800b256390b22c3d3d8d6a69f6fb668376a5030b.tar.bz2
openembedded-core-800b256390b22c3d3d8d6a69f6fb668376a5030b.zip
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@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/insane.bbclass20
1 files changed, 19 insertions, 1 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 71a9a588c3..29b122e31d 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