I think I've encountered a bug with how multiple bbappend files are processed 
when one of the bbappends contains a filename wildcard, but I want to make sure 
there's not something I'm missing before filing a bug report.

I have a BSP layer and a customization layer that are based on the OE/poky 
Daisy release. The output of `bitbake-layers show-layers` looks like:
    layer                 path                 priority
    =====================================================
    meta                  poky/meta            5
    meta-yocto            poky/meta-yocto      5
    meta-yocto-bsp        poky/meta-yocto-bsp  5
    ...ellided...
    meta-bsp              meta-bsp             6
    meta-custom           meta-custom          8

In meta-bsp there is a bbappend for base-files named 
base-files_3.0.14.bbappend. The meta-bsp bbappend adds a sysctl.conf to /etc - 
pretty straightforward:
    FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
    SRC_URI += "file://sysctl.conf"
    do_install_append() {
        install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}/
    }

Now what I want to do is add a file called base-files_%.bbappend to 
meta-custom. It has its own version of sysctl.conf, and the recipe looks like 
this:
    FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

Here's where things get weird. If I run `bitbake -e base-files` and pull out 
the section for FILESEXTRAPATHS, this is what I get (note that I've stripped 
out the huge absolute paths to make this easier to read):
    # $FILESEXTRAPATHS [5 operations]
    #   set poky/meta/conf/documentation.conf:172
    #     [doc] "Extends the search path the OpenEmbedded build system uses 
when looking for files and patches as it processes recipes and append files."
    #   _prepend meta-custom/recipes-core/base-files/base-files_%.bbappend:6
    #     "meta-custom/recipes-core/base-files/base-files:"
    #   _prepend meta-bsp/recipes-core/base-files/base-files_3.0.14.bbappend:3
    #     "meta-bsp/recipes-core/base-files/base-files:"
    #   set data_smart.py:432 [finalize]
    #     "meta-custom/recipes-core/base-files/base-files:"
    #   set data_smart.py:432 [finalize]
    #     
"meta-bsp/recipes-core/base-files/base-files:meta-custom/recipes-core/base-files/base-files:"
    # computed:
    #   
"meta-bsp/recipes-core/base-files/base-files:meta-custom/recipes-core/base-files/base-files:"
    
FILESEXTRAPATHS="meta-bsp/recipes-core/base-files/base-files:meta-custom/recipes-core/base-files/base-files:"

For some reason meta-bsp is coming before meta-custom in FILESEXTRAPATHS, even 
though meta-custom has a higher priority! I verified this by building an image 
- the sysctl.conf that ends up in the final image is the one from meta-bsp, not 
the one from meta-custom. But if I switch the name of base-files_%.bbappend in 
meta-custom to base-files_3.0.14.bbappend, this is what I get:
    # $FILESEXTRAPATHS [5 operations]
    #   set poky/meta/conf/documentation.conf:172
    #     [doc] "Extends the search path the OpenEmbedded build system uses 
when looking for files and patches as it processes recipes and append files."
    #   _prepend meta-bsp/recipes-core/base-files/base-files_3.0.14.bbappend:3
    #     "meta-bsp/recipes-core/base-files/base-files:"
    #   _prepend 
meta-custom/recipes-core/base-files/base-files_3.0.14.bbappend:6
    #     "meta-custom/recipes-core/base-files/base-files:"
    #   set data_smart.py:432 [finalize]
    #     "meta-bsp/recipes-core/base-files/base-files:"
    #   set data_smart.py:432 [finalize]
    #     
"meta-custom/recipes-core/base-files/base-files:meta-bsp/recipes-core/base-files/base-files:"
    # computed:
    #   
"meta-custom/recipes-core/base-files/base-files:meta-bsp/recipes-core/base-files/base-files:"
    
FILESEXTRAPATHS="meta-custom/recipes-core/base-files/base-files:meta-bsp/recipes-core/base-files/base-files:"

And now the sysctl.conf file is being pulled from meta-custom.

Is there something I'm missing, like some sort of decreased priorty for 
bbappend files with a wildcard? Or is this a bug?

Thanks for any help!

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

Reply via email to