[oe] [OE-core] [RFC] Layers, PRINC and bbappends

Chris Larson clarson at kergoth.com
Thu May 23 02:50:00 UTC 2013


On Wed, May 22, 2013 at 3:14 AM, Phil Blundell <pb at pbcl.net> wrote:

> On Wed, 2013-05-22 at 09:47 +0100, Paul Barker wrote:
> > I've just sent a patch to the yocto@ list to fix this but it's brought
> > up two things:
> >
> > 1) In openembedded-core/meta/classes/image.bbclass SPLASH is set with
> > '?='. I'm overriding this with '=' in
> > meta-raspberrypi/conf/machine/raspberrypi.conf which means it can't be
> > overridden further in local.conf. Is this worth changing to '??=' in
> > image.bbclass, '?=' in the machine conf so that it can be overridden
> > with '=' in local.conf? Is my understanding of the overrides correct
> > here?
>
> You can always override it from local.conf using a _forcevariable
> override (which used to be named "_local", in fact, but that terminology
> turned out to be a bit confusing), or a _MACHINE override of course.  So
> I don't think there is any major problem here.
>
> But, that said, it probably is true that the semantics of ??= are less
> surprising for users (since it isn't position-dependent in the way
> that ?= is) which might make it a better choice for image.bbclass.


??= is great in config files, but not ideal in classes that aren't globally
inherited. If bitbake.conf sets a ??=, and a distro .conf updates the
default by using ??= again, and then the class uses ??=, it'll replace the
latest default set by the config. So, I think for default values, classes
should use ?=, config files should use ??=.
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics



More information about the Openembedded-devel mailing list