[OE-core] argh ... "_append" versus "+=" and IMAGE_INSTALL confusion

Paul Eggleton paul.eggleton at linux.intel.com
Thu Mar 29 20:42:08 UTC 2012


On Thursday 29 March 2012 15:35:10 Robert P. J. Day wrote:
> On Thu, 29 Mar 2012, Eric Bénard wrote:
> > Le Thu, 29 Mar 2012 15:23:20 -0400 (EDT),
> > 
> > "Robert P. J. Day" <rpjday at crashcourse.ca> a écrit :
> > >   so what is best practise here?
> > 
> > for this one you have an answer on OE's wiki :
> > http://www.openembedded.org/wiki/I_want_an_image_with_package_XYZ_installe
> > d
> 
>   despite the fact that the current reference manual *explicitly*
> says this?
> 
> "Using IMAGE_INSTALL with the += operator from the /conf/local.conf
> file or from within an image recipe is not recommended as it can cause
> ordering issues."

I think what the manual is attempting to mitigate is a situation where you do 
the following in your image recipe:

-------- snip -------
IMAGE_INSTALL += "somepackage1 somepackage2"

inherit core-image
-------- snip -------

In this instance, because IMAGE_INSTALL is set via ?= within core-
image.bbclass, IMAGE_INSTALL will only be set to "somepackage1 somepackage2" 
since the value is already set by the time it gets to the ?=. This is clearly 
not what you would want by using +=.

Doing the following in an image recipe will work properly however:

-------- snip -------
inherit core-image

IMAGE_INSTALL += "somepackage1 somepackage2"
-------- snip -------

Personally I think the text you quoted from the manual should be adjusted; 
there's nothing wrong with IMAGE_INSTALL += _in an image recipe_ provided that 
you do it _after_ the inherit of core-image.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre




More information about the Openembedded-core mailing list