[yocto] require and image.bbappend

Stefano Babic sbabic at denx.de
Fri Apr 5 09:33:16 PDT 2019


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 at denx.de
> <mailto:sbabic at 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> <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"

Regards,
Stefano

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the yocto mailing list