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

Denys Dmytriyenko denis at denix.org
Mon Mar 26 19:31:49 UTC 2012


On Mon, Mar 26, 2012 at 10:13:59AM -0700, Tom Rini wrote:
> 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?

So, did we come full circle on this? :) Started here:
https://lists.yoctoproject.org/pipermail/meta-ti/2012-March/000779.html

I'm fine changing it for meta-ti, if we agree on a unified solution. Having an 
EXTRA/MACHINE var for that in the future might simplify things...

-- 
Denys




More information about the Openembedded-core mailing list