[OE-core] [PATCH] qemu.inc: Use '=' for IMAGE_FSTYPES

Tom Rini tom.rini at gmail.com
Mon Mar 26 17:13:59 UTC 2012


On Mon, Mar 26, 2012 at 05:56:16PM +0100, Richard Purdie wrote:
> On Mon, 2012-03-26 at 09:25 -0700, Tom Rini wrote:
> > On Mon, Mar 26, 2012 at 10:15:13AM +0100, Richard Purdie wrote:
> > > On Fri, 2012-03-23 at 10:35 -0700, Tom Rini wrote:
> > > > As per
> > > > http://lists.linuxtogo.org/pipermail/openembedded-core/2012-March/019772.html
> > > > a machine conf file should use '=' to set IMAGE_FSTYPES.
> > > > 
> > > > Signed-off-by: Tom Rini <trini at ti.com>
> > > > ---
> > > >  meta/conf/machine/include/qemu.inc |    2 +-
> > > >  1 files changed, 1 insertions(+), 1 deletions(-)
> > > 
> > > As someone pointed out, what I mentioned in that email sadly doesn't
> > > work although it would be nice if they did. I suspect this is why we're
> > > using += since:
> > 
> > We aren't using += today.  We (openembedded-core) use ?=.  meta-intel
> > uses += and meta-ti is mixed (and I don't have meta-fsl-* handy).
> > 
> > > > - The machine needs to say 'I need or support the following formats'
> > > 
> > > so the machine ensures those formats exist at a minimum:
> > > 
> > > IMAGE_FSTYPES += "xxxx"
> > > 
> > > > - The distro needs to say 'I always want format X'
> > > 
> > > so the distro can do:
> > > 
> > > IMAGE_FSTYPES += " yyy"
> > > 
> > > > - The user needs to say 'I know best, give me only format X'
> > > 
> > > This one is the problem case so the user has to use overrides:
> > > 
> > > IMAGE_FSTYPES_override = "X"
> > > 
> > > (where override can be MACHINE or forcevariable)
> > > 
> > > > - The user needs to say 'I know best, give me what you support + X'
> > > 
> > > IMAGE_FSTYPES += " X"
> > > 
> > > 
> > > Whilst I think that is less than ideal since it forces use of overrides
> > > in local.conf to override, changing the += in machine conf files doesn't
> > > gain us much, it just breaks += in local.conf.
> > > 
> > > I'm open to other feedback though...
> > 
> > Well, I suggested ??= / ?= and posted some results from bitbake -e...
> 
> Ok. += plays out as above. I realise its not what is in qemu.inc, it is
> used in meta-intel though which I looked at after qemu.inc and I guess
> has confused me.
> 
> With ?= in machine.conf:
> 
> The user defined IMAGE_FSTYPES would override the machine ones. Distro
> can still append to it. The downside is a user append would not work out
> as expected.
> 
> So the question is which is the more user expected behaviour?
> 
> =+ makes overwriting IMAGE_FSTYPES hard
> 
> ?= makes appending IMAGE_FSTYPES hard
> 
> I suspect a user is more likely to want to append than overwrite.
> Getting an append to work with ?= is extremely non-obvious, even worse
> syntax than the =+ overwriting case with overrides.
> 
> So bottom line, I'm tempted to recommend we use =+.

I think for the upcoming release, =+ is good enough and we can talk
about adding further variables after if it's still too complicated.  So,
now where's the repo that documenting these examples should go in?

-- 
Tom




More information about the Openembedded-core mailing list