Hi,

I'll get your point.
Maybe this could be a solution to your problem https://www.yoctoproject.org/docs/current/bitbake-user-manual/bitbake-user-manual.html#var-BBVERSIONS. Instead of having different bbappends have one and pick the right steps inside of the append.

If that is not working for you, you could also fake the behavior of BBFILES_DYNAMIC with putting the bbappend into separate subfolder, which than are
referenced by something like this

BBFILES += "${LAYERDIR}/dynamic-recipes/${BB_VERSION}/*.bbappend"

Regards
Konrad

On 26.03.20 20:56, Matt Campbell wrote:
I didn't know about BB_DANGLINGAPPENDS_WARNONLY. That would mask the problem, but doesn't feel like a great solution. Either way I do appreciate you sharing that.

Further implementation and discussion with our team brought up another possible solution. We could wildcard all bbappends (_%.bbappend) and use some anonymous python inside our bbappend files that will error out if the package version isn't in a supported list. We could also easily roll this up into a bbclass to prevent the need to duplicate this everywhere.

python () {
    package_version = d.getVar("PV")
    if  package_version is not in ['3.14", "3.15"]:
        bb.error("This bbappend file isn't compatible with the version {}. You will need to add support to this bbappend for that version.".format(package_version))
}

This still seems more like we are fighting bitbake rather than working with it. Does anyone have any thoughts or suggestions on this?

Other upstreams seem to maintain different branches for different Poky releases. That is a road we would rather avoid if possible. Our goal is to be able to have an extra CI build against the version of Poky under development so we can continuously fix the upgrade issues as they come up rather than as a landslide when we upgrade. Making a separate branch for this would mean we would need to merge all active development into each branch to get the benefits of a poky next canary build plan. That said, I'd love to hear about a solution that lets us have our cake and eat it too.

~Matt

On Thu, Mar 26, 2020 at 9:55 AM Robert P. J. Day <[email protected] <mailto:[email protected]>> wrote:

    On Thu, 26 Mar 2020, Matt Campbell wrote:

    > HI All,

    > We have a layer where we want to concurrently support two releases
    > of Poky. There is an issue when we have bbappnds against recipes
    > that have different versions in the two poky releases. for instance,
    > imagine recipe foo that is version 1.0 in Zeus and 1.2 in Dunfell.
    > If we had a bbappend in our layer `foo_1.0.bbappend` and tried to
    > use our layer with Dunfell, bitbake will error out saying that
    > `foo_1.0.bbappend` has no base recipe.

      not sure if this really solves the underlying issue, but you can
    always turn those errors into warnings with:

      BB_DANGLINGAPPENDS_WARNONLY = "1"

    in your local.conf, although i'm still skeptical as to whether that's
    really the problem you're trying to solve.

    rday



--
Matthew Campbell
Senior Embedded Systems Engineer
[email protected] <mailto:[email protected]>

iZotope, Inc.
www.izotope.com <http://www.izotope.com>


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#48938): https://lists.yoctoproject.org/g/yocto/message/48938
Mute This Topic: https://lists.yoctoproject.org/mt/72563780/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to