diff options
-rw-r--r-- | meta/classes/multilib.bbclass | 4 | ||||
-rw-r--r-- | meta/lib/oe/utils.py | 9 |
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=""): """ |