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]>
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]

iZotope, Inc.
www.izotope.com
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#48937): https://lists.yoctoproject.org/g/yocto/message/48937
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