Signed-off-by: Jacob Kroon <[email protected]>
---
meta/classes/features_check.bbclass | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/meta/classes/features_check.bbclass
b/meta/classes/features_check.bbclass
index 4ba827d4ab..31ce600374 100644
--- a/meta/classes/features_check.bbclass
+++ b/meta/classes/features_check.bbclass
@@ -12,11 +12,25 @@
# Copyright 2019 (C) Texas Instruments Inc.
# Copyright 2013 (C) O.S. Systems Software LTDA.
+FEATURES_CHECK_INCLUDE_STACK := "${BBINCLUDESTACK}"
+
python () {
if d.getVar('PARSE_ALL_RECIPES', False):
return
+ unused = True
+
for kind in ['DISTRO', 'MACHINE', 'COMBINED']:
+ if d.getVar('ANY_OF_' + kind + '_FEATURES') is None and \
+ d.overridedata.get('ANY_OF_' + kind + '_FEATURES') is None and \
+ d.getVar('REQUIRED_' + kind + '_FEATURES') is None and \
+ d.overridedata.get('REQUIRED_' + kind + '_FEATURES') is None and \
+ d.getVar('CONFLICT_' + kind + '_FEATURES') is None and \
+ d.overridedata.get('CONFLICT_' + kind + '_FEATURES') is None:
+ continue
+
+ unused = False
+
# Assume at least one var is set.
features = set((d.getVar(kind + '_FEATURES') or '').split())
@@ -39,4 +53,10 @@ python () {
if conflicts:
raise bb.parse.SkipRecipe("conflicting %s feature%s '%s' (in
%s_FEATURES)"
% (kind.lower(), 's' if len(conflicts) > 1 else '', '
'.join(conflicts), kind))
+
+ # Only warn if inherited directly in a .bb-file; if the class is inherited
+ # via an .inc/.bbclass it could be a false positive
+ inherited_from_bb =
d.getVar('FEATURES_CHECK_INCLUDE_STACK').split()[-1].endswith('.bb')
+ if unused and inherited_from_bb:
+ bb.warn("Recipe inherits features_check but doesn't use it")
}
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#139364):
https://lists.openembedded.org/g/openembedded-core/message/139364
Mute This Topic: https://lists.openembedded.org/mt/74774873/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-