summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/multilib.bbclass4
-rw-r--r--meta/lib/oe/utils.py9
2 files changed, 11 insertions, 2 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 816f54e7f5d..589ee37a876 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -77,6 +77,10 @@ python multilib_virtclass_handler () {
if newtune:
e.data.setVar("DEFAULTTUNE", newtune)
e.data.setVar('DEFAULTTUNE_ML_%s' % variant, newtune)
+
+ # Update the backfilled features after DEFAULTTUNE changed
+ oe.utils.features_backfill("DISTRO_FEATURES", e.data)
+ oe.utils.features_backfill("MACHINE_FEATURES", e.data)
}
addhandler multilib_virtclass_handler
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index 1897c5faea0..371acd0a47d 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -107,13 +107,18 @@ def features_backfill(var,d):
backfill = (d.getVar(var+"_BACKFILL") or "").split()
considered = (d.getVar(var+"_BACKFILL_CONSIDERED") or "").split()
+ features_original = (d.getVar(var + "_ORIGINAL") or "").split()
+ if not features_original:
+ features_original = features
+ d.setVar(var + "_ORIGINAL", " ".join(features_original))
+
addfeatures = []
for feature in backfill:
- if feature not in features and feature not in considered:
+ if feature not in features_original and feature not in considered:
addfeatures.append(feature)
if addfeatures:
- d.appendVar(var, " " + " ".join(addfeatures))
+ d.setVar(var, " ".join(features_original) + " " + " ".join(addfeatures))
def all_distro_features(d, features, truevalue="1", falsevalue=""):
"""