summaryrefslogtreecommitdiffstats
path: root/meta/classes/image.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/image.bbclass')
-rw-r--r--meta/classes/image.bbclass17
1 files changed, 17 insertions, 0 deletions
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 24fd868087..f1b829fe18 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -94,6 +94,23 @@ python () {
94 deps += " %s:do_populate_sysroot" % dep 94 deps += " %s:do_populate_sysroot" % dep
95 d.appendVarFlag('do_build', 'depends', deps) 95 d.appendVarFlag('do_build', 'depends', deps)
96 96
97 #process IMAGE_FEATURES, we must do this before runtime_mapping_rename
98 #Check for replaces image features
99 features = set(oe.data.typed_value('IMAGE_FEATURES', d))
100 remain_features = features.copy()
101 for feature in features:
102 replaces = set((d.getVar("IMAGE_FEATURES_REPLACES_%s" % feature, True) or "").split())
103 remain_features -= replaces
104
105 #Check for conflict image features
106 for feature in remain_features:
107 conflicts = set((d.getVar("IMAGE_FEATURES_CONFLICTS_%s" % feature, True) or "").split())
108 temp = conflicts & remain_features
109 if temp:
110 bb.fatal("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN', True), feature, ' '.join(list(temp))))
111
112 d.setVar('IMAGE_FEATURES', ' '.join(list(remain_features)))
113
97 # If we don't do this we try and run the mapping hooks while parsing which is slow 114 # If we don't do this we try and run the mapping hooks while parsing which is slow
98 # bitbake should really provide something to let us know this... 115 # bitbake should really provide something to let us know this...
99 if d.getVar('BB_WORKERCONTEXT', True) is not None: 116 if d.getVar('BB_WORKERCONTEXT', True) is not None: