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
[email protected]
https://lists.yoctoproject.org/listinfo/yocto