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

Paul Eggleton
2013-01-28T16:50:44Z

On Monday 28 January 2013 17:23:40 Enrico Scholz wrote:
> Paul Eggleton <paul.eggleton@linux.intel.com> writes:
> >> 1. set some defaults on distribution base ...
> >> 2. allow to override these defaults on a per-project base
> >> ...
> >> afaik, DISTRO_FEATURES_BACKFILL + _CONSIDERED exist to allow the first
> >> two point without an '-=' operator which lacks in bitbake.
> >
> > No they don't. They exist to allow adding new features that should be
> > enabled for all existing distro configs without each of those having to
> > be changed, and provide a means for distros to opt out of that enabling
> > if they wish.
> How is this different from my requirements? Ok; atm,
> DISTRO_FEATURES_BACKFILL is pretty useless because it contains only
> 'pulseaudio' which is probably unwanted on >90% of all embedded devices

pulseaudio was enabled already in the recipes that care about it; that was the
point of adding it in the first place so it could be turned off.

> and it is impossible to extend DISTRO_FEATURES_BACKFILL.

It's not intended to be extended; it's for use in OE-Core alone.

> > It's still not clear to me why you could not just set DISTRO_FEATURES
> > directly. If you have values you're likely to want to remove, you can
> > put them in separate variables that you can clear out later.
>
> It is very difficultly to do within distro.conf. E.g. having
>
> | DISTRO_FEATURES = "${@subtract_set('DISTRO_FEATURES',
> | 'UNWANTED_FEATURES')}'
> will probably result into some error regarding recursive expansion.

What I meant was something like:

DISTRO_FEATURES = "${DISTRO_FEATURES_BASIC} ${DISTRO_FEATURES_A}
${DISTRO_FEATURES_B}"

And then in your specific configs:
DISTRO_FEATURES_A = ""

Cheers,
Paul

--

Paul Eggleton
Intel Open Source Technology Centre