| Submitter | Tom Rini |
|---|---|
| Date | March 23, 2012, 5:35 p.m. |
| Message ID | <1332524132-24689-1-git-send-email-trini@ti.com> |
| Download | mbox | patch |
| Permalink | /patch/24341/ |
| State | New |
| Headers | show |
Comments
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@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: > - 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... Cheers, Richard
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@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...
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@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 =+. Further thoughts? Cheers, Richard
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@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?
On 03/26/2012 10:13 AM, Tom Rini wrote: > > 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? > You want to talk to Scott Rifenbark, on CC.
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@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...
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@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 =+. > > Further thoughts? Richard, So, what is the subtle difference between += that we started with and =+ that you recommended at the end? I realize those are for append and prepend, but are they handled any different? Was your recommendation to use =+ at the end, instead of += that was used originally, based on some specifics? Thanks.
On Wed, 2012-03-28 at 14:54 -0400, Denys Dmytriyenko 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@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 =+. > > > > Further thoughts? > > Richard, > > So, what is the subtle difference between += that we started with and =+ that > you recommended at the end? I realize those are for append and prepend, but > are they handled any different? Was your recommendation to use =+ at the end, > instead of += that was used originally, based on some specifics? Thanks. I'm using += and =+ interchangeably. The contrast was with ?= which I argued against. Order in this case doesn't matter and I have no preference over += or =+, it simply doesn't matter. Cheers, Richard
On Wed, Mar 28, 2012 at 10:11:44PM +0100, Richard Purdie wrote: > On Wed, 2012-03-28 at 14:54 -0400, Denys Dmytriyenko 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@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 =+. > > > > > > Further thoughts? > > > > Richard, > > > > So, what is the subtle difference between += that we started with and =+ that > > you recommended at the end? I realize those are for append and prepend, but > > are they handled any different? Was your recommendation to use =+ at the end, > > instead of += that was used originally, based on some specifics? Thanks. > > I'm using += and =+ interchangeably. The contrast was with ?= which I > argued against. Order in this case doesn't matter and I have no > preference over += or =+, it simply doesn't matter. So I guess I'll spin everything one more time and drop the meta-intel version and we'll just use += since that's the common one.
On Wed, 2012-03-28 at 16:29 -0700, Tom Rini wrote: > On Wed, Mar 28, 2012 at 10:11:44PM +0100, Richard Purdie wrote: > > On Wed, 2012-03-28 at 14:54 -0400, Denys Dmytriyenko 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: > > > So, what is the subtle difference between += that we started with and =+ that > > > you recommended at the end? I realize those are for append and prepend, but > > > are they handled any different? Was your recommendation to use =+ at the end, > > > instead of += that was used originally, based on some specifics? Thanks. > > > > I'm using += and =+ interchangeably. The contrast was with ?= which I > > argued against. Order in this case doesn't matter and I have no > > preference over += or =+, it simply doesn't matter. > > So I guess I'll spin everything one more time and drop the meta-intel > version and we'll just use += since that's the common one. Sounds good. Sorry about the churn on this one, I thought it was clear += and =+ were equivalent in this context. Cheers, Richard
Patch
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc index 10ab76e..b613287 100644 --- a/meta/conf/machine/include/qemu.inc +++ b/meta/conf/machine/include/qemu.inc @@ -3,7 +3,7 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive" MACHINE_FEATURES = "apm alsa pcmcia bluetooth irda usbgadget screen" -IMAGE_FSTYPES ?= "tar.bz2 ext3" +IMAGE_FSTYPES = "tar.bz2 ext3" ROOT_FLASH_SIZE = "280"
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@ti.com> --- meta/conf/machine/include/qemu.inc | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)