[oe-commits] Richard Purdie : insane.bbclass: Add pkgvarcheck to check for suboptimal usages of variables

git at git.openembedded.org git at git.openembedded.org
Mon Feb 4 16:43:43 UTC 2013


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

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Sun Feb  3 16:54:00 2013 +0000

insane.bbclass: Add pkgvarcheck to check for suboptimal usages of variables

Check through the variables:
'RDEPENDS', 'RRECOMMENDS', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm'
and if there is a variable set which isn't package specific, inform the user
of this.

Using these variables without a package suffix is bad practise and complicates
dependencies of packages unnecessarily as well as complicates the code. Lets
convert the remaining issues and then we can take the small performance gain.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

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

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 5dfa5aa..3375a41 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -114,7 +114,7 @@ def package_qa_get_machine_dict():
 
 # Currently not being used by default "desktop"
 WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel"
-ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch la2 pkgconfig la perms dep-cmp"
+ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch la2 pkgconfig la perms dep-cmp pkgvarcheck"
 
 ALL_QA = "${WARN_QA} ${ERROR_QA}"
 
@@ -885,4 +885,12 @@ python () {
     tests = d.getVar('ALL_QA', True).split()
     if "desktop" in tests:
         d.appendVar("PACKAGE_DEPENDS", "desktop-file-utils-native")
+
+    issues = []
+    if (d.getVar('PACKAGES', True) or "").split():
+        for var in 'RDEPENDS', 'RRECOMMENDS', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm':
+            if d.getVar(var):
+                issues.append(var)
+    for i in issues:
+        package_qa_handle_error("pkgvarcheck", "%s: Variable %s is set as not being package specific, please fix this." % (d.getVar("FILE", True), i), d)
 }





More information about the Openembedded-commits mailing list