On 3/9/2012 2:51 AM, Robert P. J. Day wrote:
>   (i posted something regarding this on the oe-core list, but i wanted
> to post here as well with specific examples from the yocto manuals.)
>
>   from the yocto dev manual, section 4.3.1:
>
> "The other method for creating a custom image is to modify an existing
> image. For example, if a developer wants to add strace into the
> core-image-sato image, they can use the following recipe:
>
>      require core-image-sato.bb
>
>      IMAGE_INSTALL += "strace"
>
>   however, here's the discussion of IMAGE_INSTALL in the poky ref
> manual in the variables glossary:
>
> "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."
>
> ... and that explanation goes on to recommend using
> IMAGE_INSTALL_append instead.  that inconsistency should be cleared
> up.
>

The issue here is your talking about two different use cases. Setting
IMAGE_INSTALL from a local.conf is a
different use case then setting the value in a image recipe that
includes another image recipe.

>From the local.conf, just from a functional point of view generally will
not work well if you do IMAGE_INSTALL +=.

Some images(not neccisarily in oe-core) set IMAGE_INSTALL explictly
hard, which means you can add what ever you want in your
local.conf and it will get replaced with what is in the recipe. If the
recipe sets IMAGE_INSTALL soft, then what happens is when your
local.conf is read, the value should start out as not defined, so when
you += to the value you get what ever you set as the only value.
Later on when things like core-image attempt to set via =? it sees that
it is already set and should break the image since it doesn't add
what it thinks is the right stuff to make the image, just the stuff you
set in your local.conf.

If from the local.conf, you so IMAGE_INSTALL_append, what ever you set
will get added after all the processing of the various settings for the
image is
already complete.

In an image recipe, like the one you call out, all the image processing
of what should be added etc, is alreaqdy done, when the =+ is added, so
the result is what you would expect.

Different use cases generally have different suggested methods. However
this is more of a funcitonal discssion as I am not sure what the
community consensus
suggestions for setting things like IMAGE_INSTALL in local.conf is any more.

_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to