[bitbake-devel] [PATCH] cooker.py: allow dangling bbappends if explicitly whitelisted
Richard Purdie
richard.purdie at linuxfoundation.org
Fri Jun 2 12:58:15 UTC 2017
On Mon, 2017-05-22 at 12:50 +0200, Patrick Ohly wrote:
> Having a .bbappend without corresponding .bb file triggers an error
> or
> at least warning, depending on the global
> BB_DANGLINGAPPENDS_WARNONLY.
>
> Some layers (for example, meta-freescale) avoid that message by only
> adding .bbappends to the BBFILES when the layers they apply to are
> present. Others (like intel-iot-refkit) avoid such .bbappends by
> falling back to global assignments with _pn-<recipe> as override.
> Both
> is complicated.
>
> Now the warning code checks BBAPPENDS_DANGLING_WHITELIST and ignores
> all bbappends which match a file pattern in that list. This is an
> easier way to have bbappends which may or may not apply to an
> existing recipe.
>
> Example usage:
>
> # We have recipes-* directories, add to BBFILES
> BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
> ${LAYERDIR}/optional-bbappends/recipes-*/*/*.bbappend \
> ${LAYERDIR}/recipes-*/*/*.bbappend"
>
> # Several of our *.bbappends might be for layers that are not
> # guaranteed to be present. Don't warn or even error out because
> # of those.
> BBAPPENDS_DANGLING_WHITELIST += "${LAYERDIR}/optional-
> bbappends/recipes-*/*/*.bbappend"
I've been giving this some thought. The freescale layer approach does
have ordering issues which I don't like. Equally, Chris' comment about
this is also a valid concern. Experience suggests saying the layer
maintainer needs to be careful doesn't work in practise.
I'm wondering if there is a hybrid solution if we extend this syntax a
little, e.g.:
BBFILES_DYNAMIC += "\
XXXX:${LAYERDIR}/optional-bbappends-XXX/recipes-*/*/*.bbappend
YYYY:${LAYERDIR}/optional-bbappends-YYY/recipes-*/*/*.bbappend
"
so that the code only applies these BBFILES entries if the layer named
in the first parameter is present?
This would happen at the end of parsing so ordering becomes a moot
point. The direction you stack BBFILES_DYANMIC in would determin
bbappend application order.
How does that sound to people?
Cheers,
Richard
More information about the bitbake-devel
mailing list