@@ -34,6 +34,7 @@ WARN_QA ?= " libdir xorg-driver-abi buildpaths \
missing-update-alternatives native-last missing-ptest \
license-exists license-no-generic license-syntax license-format \
license-incompatible license-file-missing obsolete-license \
+ rrecommends-non-existant \
"
ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
@@ -1089,6 +1090,16 @@ def package_qa_check_empty_dirs(pkg, d, messages):
msg = "%s installs files in %s, %s" % (pkg, dir, recommendation)
oe.qa.add_message(messages, "empty-dirs", msg)
+QAPKGTEST[rrecommends-non-existant] = "package_qa_check_rrecommends_non_existant"
+def package_qa_check_rrecommends_non_existant(pkg, d, messages):
+ localdata = bb.data.createCopy(d)
+ localdata.setVar('OVERRIDES', pkg)
+ for rec in bb.utils.explode_dep_versions2(localdata.getVar("RRECOMMENDS") or ""):
+ if rec in (d.getVar("PACKAGES") or "").split() and not os.listdir(os.path.join(d.getVar("PKGDEST"), rec)):
+ localdata.setVar("OVERRIDES", rec)
+ if not bb.utils.to_boolean(localdata.getVar("ALLOW_EMPTY"), False):
+ oe.qa.add_message(messages, "rrecommends-non-existant", "{0} -> {1} but won't be build".format(pkg, rec))
+
def package_qa_check_encoding(keys, encode, d):
def check_encoding(key, enc):
sane = True