@@ -19,8 +19,10 @@ python () {
# Set features here to prevent appends and distro features backfill
# from modifying nativesdk distro features
features = set(d.getVar("DISTRO_FEATURES_NATIVESDK").split())
+ oe.utils.features_backfill("DISTRO_FEATURES", d)
filtered = set(bb.utils.filter("DISTRO_FEATURES", d.getVar("DISTRO_FEATURES_FILTER_NATIVESDK"), d).split())
d.setVar("DISTRO_FEATURES", " ".join(sorted(features | filtered)))
+ d.setVar("DISTRO_FEATURES_BACKFILL", "")
}
STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
@@ -17,7 +17,6 @@ CLASSOVERRIDE = "class-nativesdk"
MACHINEOVERRIDES = ""
MACHINE_FEATURES = "${SDK_MACHINE_FEATURES}"
-DISTRO_FEATURES_BACKFILL = ""
MACHINE_FEATURES_BACKFILL = ""
MULTILIBS = ""
@@ -85,8 +84,10 @@ python nativesdk_virtclass_handler () {
# Set features here to prevent appends and distro features backfill
# from modifying nativesdk distro features
features = set(d.getVar("DISTRO_FEATURES_NATIVESDK").split())
+ oe.utils.features_backfill("DISTRO_FEATURES", d)
filtered = set(bb.utils.filter("DISTRO_FEATURES", d.getVar("DISTRO_FEATURES_FILTER_NATIVESDK"), d).split())
d.setVar("DISTRO_FEATURES", " ".join(sorted(features | filtered)))
+ d.setVar("DISTRO_FEATURES_BACKFILL", "")
e.data.setVar("MLPREFIX", "nativesdk-")
e.data.setVar("PN", "nativesdk-" + e.data.getVar("PN").replace("-nativesdk", "").replace("nativesdk-", ""))
Similar to native, backfilling of items from DISTRO_FEATURES when combined with DISTRO_FEATURES_FILTER_NATIVESDK was not functioning correctly. Ensure the backfill is applied before filtering, then clear the value to prevent further backfill. This makes the nativesdk and crosssdk cases match the native code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- meta/classes-recipe/crosssdk.bbclass | 2 ++ meta/classes-recipe/nativesdk.bbclass | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-)