Re: LAYERSERIES_COMPAT_ variable in the layer's recipe

Rudolf J Streif

On Wed, Nov 30, 2022, 20:27 Zoran <zoran.stojsavljevic@...> wrote:
Hello to Yocto community,

As I am much more passive yocto wise these few years ( working on
Android build systems and around, this is also a nightmare, I should
say ;-) ), I have one Yocto question which I never really understood.

I will ask it by example. I have one layer for the CAN tools and apps
which I have created 4 years ago:

In there, in conf/layer.conf:

I have the following line (layers' compatibility):
LAYERSERIES_COMPAT_meta-socketcan = "sumo thud warrior zeus dunfell
gatesgarth hardknott honister kirkstone"

I do not understand why we need to explicitly name releases for such
simple generic layers?!

To me this indicates that the maintainer of the layer has tested the compatibility of his layer with all of these releases of the Yocto Project.

A maintainer of a layer should make a deliberate decision of adding a release or dropping one from the compatibility list. It should be an attestation that the layer's compatibility with the releases in the list is actually maintained and tested.

There have been changes to the syntax to conditional variables. Your layer might well be compatible with all of the releases and it's great if you tested it. But it's not a given.

Instead, for a virtual example:
LAYERSERIES_COMPAT_meta-socketcan = "${AUTOLAYER x}"

So all the layers might be included (or for at least lets say x = 4
latest releases, where x = 0 would be include all)? I do understand
that complex layers could NOT have such a definition (because of the
dependencies), but for the generic layers (as such presented), this
would be beneficial.

I never cared for ${AUTOREV}, which is similar, in the first place for the very reason that it creates inconsistent behavior. This would do the same thing. What would the last 4 releases even mean? What is the reference and where is it obtained from?

Thank you for the answers,


Join to automatically receive all group messages.