[yocto] How to customize a file coming from another recipe?

Andrea Galbusera gizero at gmail.com
Thu Sep 12 03:25:50 PDT 2013


Hi Brad,

On Wed, Sep 11, 2013 at 10:30 PM, Brad Litterell <brad at evidence.com> wrote:
> I'm building w/the Arago distribution which contains lighttpd for a web
> server.  I include this in my image as follows:
>
> IMAGE_INSTALL = "packagegroup-core-boot \
> ...
> lighttpd lighttpd-module-cgi lighttpd-module-compress lighttpd-module-expire
> \
> ...
> "
>
> This installs a default configuration file for the service which I now want
> to customize.  What is the recommended way to overwrite or customize files
> in another package?
> Is the best course to create a recipe bbappend for the lighttpd_1.4.31.bb
> file that is being used?  And can I just include a new file with the same
> name in my append and will it overwrite the old one, or do I need to create
> an actual patch file?

In my experience, the suggested approach for packaging and deploying a
custom configuration file in your target rootfs is to define an
override for the corresponding recipe.
The way you do this is slightly different depending upon the Arago
Project your using: from some details you provide, I guess you are
using meta-arago layer on top of Yocto build system and not the old
Arago Project based on OpenEmbedded Classic. If this is not the case
you might have better luck posting this to the arago mailing list.

If this is correct instead, the suggested approach for packaging and
deploying a custom configuration file is to define a .bbappend for
lighttpd recipe i.e. in your own layer. See [1] for more details and
examples on using bbappend files.

[1] http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#using-bbappend-files


> Or is it better to create a new separate  recipe that just ships my version
> of the configuration file?

This is not convenient, since it would generate metadata duplication
and a lot of unnecessary maintenance burden when the upstream recipe
gets updated.

> How are conflicts handled when two recipes
> attempt to install the same file?



More information about the yocto mailing list