[OE-core] RFC: FOO_subtract, the logical antidote to FOO_append.

Richard Purdie richard.purdie at linuxfoundation.org
Fri May 18 06:25:43 UTC 2012


On Thu, 2012-05-17 at 21:18 -0700, Chris Larson wrote:
> On Wed, May 16, 2012 at 9:58 AM, Peter Seebach
> <peter.seebach at windriver.com> wrote:
> > On Wed, 16 May 2012 07:35:45 +0300
> > Saul Wold <sgw at linux.intel.com> wrote:
> >
> >> My understanding is that a _subtract is fraught with danger, there
> >> all sorts of ordering implications.
> >
> > Yes.
> >
> > But consider, if you will, the specific case of
> > DISTRO_FEATURES_LIBC_DEFAULT, and a libc which is just like eglibc
> > except that it lacks RPC.
> >
> > Anything I do that isn't processed at the tail end of everything,
> > around the point where _appends are processed, will be unable to
> > cleanly obtain "the value that would have been set by default if
> > nothing else happened", and then remove a word from it.  I can't set a
> > value in advance, because if I do the ?= won't fire and none of those
> > words will get set.  I can't necessarily set a value later.
> >
> > Overrides won't work either, because overrides also destroy the
> > existing values.
> >
> > It seems to me that for a subtraction to work, it *must* be the very
> > last thing done.
> >
> > Basically, the purpose of suggesting this as a formal behavior defined
> > to be The Very Last Thing is to minimize the complexity of the ordering
> > implications.  You get exactly what you would have gotten otherwise,
> > with these words removed.
> 
> I agree. I think this is the only sane option for implementing this
> given bitbake's current behavior. Clearly a -= would be extremely
> problematic, and would have clear complications with variable
> expansion, as we discussed on IRC. I'd be interested in seeing a
> prototype implementation of this, to experiment with it and see how
> viable it is.

The _subtract or _remove format of this might be a viable way of adding
this functionality. "-=" is the one I'd prefer to avoid as it will end
up confusing people which is why we've all effectively been against it
but the _xxxx syntax does match the behaviour/ordering of _append and
_prepend and hence could be added with less confusion.

So yes, I think this could be the best way to address some of these
cases. It has always bugged me that its near impossible to counteract an
_append other than with an override.

I also agree we should audit the system and change to ??= where it makes
sense which will reduce the need for this.

Cheers,

Richard





More information about the Openembedded-core mailing list