diff options
author | Jacob Kroon <jacob.kroon@gmail.com> | 2020-06-10 19:52:45 +0200 |
---|---|---|
committer | Steve Sakoman <steve@sakoman.com> | 2020-09-28 07:55:37 -1000 |
commit | 02fa8637195447f38b4ce96086197490ce814987 (patch) | |
tree | e55e08b3489899140f14f16e48ae847e7769fc2e | |
parent | 07910054c75a084dcfb10c86c1bf69b68989f587 (diff) | |
download | openembedded-core-contrib-02fa8637195447f38b4ce96086197490ce814987.tar.gz |
insane: Check for feature check variables not being used
Add a package QA check for wether any of the variables used by
features_check.bbclass is set while not inheriting the class itself.
Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c06489d102682504afe33f9fee3facd9628b3f57)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r-- | meta/classes/insane.bbclass | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 46d386a38b..5b18fadd60 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -28,7 +28,7 @@ WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \ pn-overrides infodir build-deps src-uri-bad \ unknown-configure-option symlink-to-sysroot multilib \ invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \ - mime mime-xdg unlisted-pkg-lics \ + mime mime-xdg unlisted-pkg-lics unhandled-features-check \ " ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ perms dep-cmp pkgvarcheck perm-config perm-line perm-link \ @@ -977,6 +977,16 @@ def package_qa_check_src_uri(pn, d, messages): if re.search(r"github\.com/.+/.+/archive/.+", url): package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub archives" % pn, d) +QARECIPETEST[unhandled-features-check] = "package_qa_check_unhandled_features_check" +def package_qa_check_unhandled_features_check(pn, d, messages): + if not bb.data.inherits_class('features_check', d): + var_set = False + for kind in ['DISTRO', 'MACHINE', 'COMBINED']: + for var in ['ANY_OF_' + kind + '_FEATURES', 'REQUIRED_' + kind + '_FEATURES', 'CONFLICT_' + kind + '_FEATURES']: + if d.getVar(var) is not None or d.overridedata.get(var) is not None: + var_set = True + if var_set: + package_qa_handle_error("unhandled-features-check", "%s: recipe doesn't inherit features_check" % pn, d) # The PACKAGE FUNC to scan each package python do_package_qa () { |