[PATCH 2/2] base: make feature backfilling happen earlier

Ross Burton
2013-01-24T18:10:36Z

From: Richard Purdie <richard.purdie@linuxfoundation.org>

Backfilling DISTRO_FEATURES and MACHINE_FEATURES with _append statements happens
too late to use those variables with conditional inherits, like this:

inherit ${@base_contains('DISTRO_FEATURES','sysvinit','update-rc.d_real','',d)}

Instead, do the backfilling at ConfigParse time so that it happens earlier in
the parse, which results in that inherit behaving as expected when sysvinit was
backfilled.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
meta/classes/base.bbclass | 2 ++
meta/conf/bitbake.conf | 3 ---
2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index b427a5e..dafded3 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -314,6 +314,8 @@ python base_eventhandler() {
generate_git_config(e)
pkgarch_mapping(e.data)
preferred_ml_updates(e.data)
+ e.data.appendVar('DISTRO_FEATURES', oe.utils.features_backfill("DISTRO_FEATURES", e.data))
+ e.data.appendVar('MACHINE_FEATURES', oe.utils.features_backfill("MACHINE_FEATURES", e.data))

if isinstance(e, bb.event.BuildStarted):
statuslines = []
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 607fb70..13a3ff9 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -739,10 +739,7 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"

DISTRO_FEATURES_BACKFILL = "pulseaudio ${DISTRO_FEATURES_INITMAN}"
-DISTRO_FEATURES_append = "${@oe.utils.features_backfill("DISTRO_FEATURES",d)}"
-
MACHINE_FEATURES_BACKFILL = "rtc"
-MACHINE_FEATURES_append = "${@oe.utils.features_backfill("MACHINE_FEATURES",d)}"

COMBINED_FEATURES = "\
${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "alsa", d)} \
--
1.7.10.4