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.

(From OE-Core rev: 316228948e65f376f6c5be13ccd0c964ea630edf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2013-02-03 16:54:00 +00:00
parent bf25dd25c2
commit 61c51a1a49
1 changed files with 9 additions and 1 deletions

View File

@ -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)
}