Re: require and image.bbappend


Matteo Facchinetti
 

Hi Stefano,

Il giorno ven 5 apr 2019 alle ore 18:33 Stefano Babic <sbabic@...> ha scritto:
Hi Matteo,

On 05/04/19 17:54, Matteo Facchinetti wrote:
>
> Hi Stefano,
>
> Il giorno gio 4 apr 2019 alle ore 17:32 Stefano Babic <sbabic@...
> <mailto:sbabic@...>> 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> <http://image_base.bb> :
>     yocto base image 
>     >    - image_with_graphicsupport.bb
>     <http://image_with_graphicsupport.bb>
>     <http://image_with_graphicsupport.bb>
>     > : where include image_base.bb <http://image_base.bb>
>     <http://image_base.bb> (require
>     > image_base.bb <http://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>
>     > <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>
>     > <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>
>     > <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 <http://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 <http://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 <http://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
> <http://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?

Then simply write a image_base.inc to factorize what is common and in
both recipes you can include it with "require image_base.inc"

 
 Oh yes, I didn't think about that.
These parts are statics and the "require image_base.inc" statement into the both images recipes is the simplest way and solve the problem... :-)

Thanks again.

Regards,

Matteo Facchinetti
Sirius Electronic Systems

Join yocto@lists.yoctoproject.org to automatically receive all group messages.