Hi Stefano,

Il giorno gio 4 apr 2019 alle ore 17:32 Stefano Babic <sbabic@denx.de> ha scritto:
Hi Matteo,

On 04/04/19 15:35, Matteo Facchinetti wrote:
> Hi,
>
> I encountered a problem when try to add packages in my image recipe, but
> I don't understernd if I wrong something or I have to do it in another way.
>
> In detail, in my common_layer there are:
>    - image_base.bb <http://image_base.bb> : yocto base image 
>    - image_with_graphicsupport.bb <http://image_with_graphicsupport.bb>
> : where include image_base.bb <http://image_base.bb> (require
> image_base.bb <http://image_base.bb>)
>
> Now, in my BSP layer, I want to add some packages to the image_base.bb
> <http://image_base.bb>, so I create here the image_base.bbappend file.
> But when I try to compile image_with_graphicsupport.bb
> <http://image_with_graphicsupport.bb> the result is not how expected.
> Image_with_graphicsupport.bb doesn't add packages contained in
> image_base.bbappend but only the packages contained in image_base.bb
> <http://image_base.bb>.
>
> Is true that when include an image to another with require statement,
> you can't extend the base image with a bbappend?

Yes, it is true, because the file is included and it is not anymore like
a recipe that can be extend. It will be searched for a
image_with_graphicsupport.bb append, not image_base.bbappend.


Ok, understood.
 
IMHO you can easy reach your goal if you write a packagegroup recipe
where you put all packages you have in the IMAGE_INSTALL of your
image_base.bb. You can then have a .bbappend for the packagegroup in
your BSP layer (and this then works) and you put the packagegroup in the
IMAGE_INSTALL directive of both image_base.bb and
Image_with_graphicsupport.bb.


Thank you very much for this tip.
I have done exactly in this way and works perfectly and it's easy to manage.

However there's a part containded in the image_base.bb recipe:
    inherit core-image
    IMAGE_FEATURE_append = "..."

that I had to duplicate into the Image_with_graphicsupport.bb too.

It's not a problem but is it possible to put them in a common recipe like packagegroup?