Fix Yocto Project Compatibility requirements#2551
Fix Yocto Project Compatibility requirements#2551Dmitry Baryshkov (lumag) wants to merge 8 commits into
Conversation
Making lts-linux-firmware-mixin layer a dependency broke the autobuilder and breaks the YP Compatibiltiy requirements. In preparation to making the lts-linux-firmware-mixin layer optional, restore the h-d-b recipe with the version matching linux-firmware in OE-Core (because the h-d-b and l-f versions must exactly match). Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
The 20260519 version of h-d-b depends on the linux-firmware version only present in the lts-linux-firmware-mixin layer. In preparation of making the layer optional, set DEFAULT_PREFERENCE based on the layer being available. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
ebcd57c to
6ae9c8b
Compare
Backport a patch and add packages to create packages for QCM6490-IDP board. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
…ional The linux-firmware-ath12k-qcc2072 package is only provided by the linux-firmware package from the mixins layer. Move the package to the separate list, which gets included only if the mixins layer is enabled. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
In preparation of making lts-linux-firmware-mixin optional, add dynamic-layer configuration for the mixin layer. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
The linux-firmwre recipe from lts-linux-firmware-mixin is disabled by default. Enable it if the layer is a part of the build environment, as we are mostly using the updated firmware for all the tests. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
With all the preparations done, the lts-linux-firmware-mixin layer is no longer required for the build (but if it is provided, the updated linux-firmware will be used for the build). Move lts-linux-firmware-mixin to LAYERRECOMMENDS in order to follow Yocto Project Compatibility requirements. Fixes qualcomm-linux#2457 Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
ee6f86a to
5b66457
Compare
1 similar comment
| LAYERDEPENDS_qcom = "core lts-linux-firmware-mixin" | ||
| LAYERRECOMMENDS_qcom = "openembedded-layer meta-arm" | ||
| LAYERDEPENDS_qcom = "core" | ||
| LAYERRECOMMENDS_qcom = "openembedded-layer meta-arm lts-linux-firmware-mixin" |
There was a problem hiding this comment.
Is this really what we intend? This way we'll have to support two firmware versions, and the version qcom prefer will no longer be the one from the mixin layer.
With this change, you need to remove the meta-lts-mixins dependency in the ci/yocto-check-layer.sh.
There was a problem hiding this comment.
This is what we must support until meta-lts-mixins / firmware branch is enable and available on the autobuilder.
There was a problem hiding this comment.
and the version qcom prefer will no longer be the one from the mixin layer.
See the bbappend. If the layer is available, it will be used.
There was a problem hiding this comment.
This is what we must support until meta-lts-mixins / firmware branch is enable and available on the autobuilder.
Have you considered that meta-lts-mixins may never be YP compatible?
There was a problem hiding this comment.
and the version qcom prefer will no longer be the one from the mixin layer.
See the bbappend. If the layer is available, it will be used.
This will introduce a lot of complexity. We will now support two distinct versions of linux-firmware. For example #2450, that patch the linux-firmare may won't work, and similar ones will have the same problems.
There was a problem hiding this comment.
Jose Quaresma (@quaresmajose) any other proposals? The worse case would be to drop the meta-qcom/wrynose from the autobuilder and from the YP compatibility program.
There was a problem hiding this comment.
Jose Quaresma (@quaresmajose) any other proposals? The worse case would be to drop the meta-qcom/wrynose from the autobuilder and from the YP compatibility program.
This is not possible. meta-qcom being YP compatible is a must have. and part of our 'product' definition.
There was a problem hiding this comment.
Jose Quaresma (@quaresmajose) any other proposals? The worse case would be to drop the meta-qcom/wrynose from the autobuilder and from the YP compatibility program.
This is not possible. meta-qcom being YP compatible is a must have. and part of our 'product' definition.
Which means that (per definition) we should depend only on YP-compatible layers. Until the required branch of the mixins layer is not marked as compatible, we can not depend on it.
There was a problem hiding this comment.
I have no other proposal or solution to this problem. I think we need to discuss this more broadly. Moving this discussion to #2457 is more appropriate in my opinion because we can get opinions from other YP maintainers.
|
This looks fairly good to me. |
|
I don't think we have any other option until the mixin layer is also compatible. At the same time, we do need to have at least one qcom-armv8a build using qcom-distro and not enabling the mixin layer to make sure we keep things working as needed (as duplicating more builds will also explode our CI). |
|
Ricardo Salveti (@ricardosalveti) just the build or the build+test? |
At this point my main concern would be build testing as to test this effectively we would have to duplicate CI and validate with qcom-distro builds, which would be too much. Build tests should allow us to at least easily identify packaging issues. |
That's not the problem! Actually, the problem is that even if it's compatible, you won't be able to use it without your product losing compatibility. |
|
The problem is the following:
|
I've run the yocto-check-layer on this combo and it still passes. Please point out the error. |
It fails in #2542. Where do you say it passes through? |
In order to ensure that there are no issues in future, drop the mixin layer from the nodistro builds (until it's marked as YP-compatible and added to the autobuilder) and also perform a separate qcom-distro build without a mixin layer. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
5b66457 to
1eeb829
Compare
It's required that YP Compatible layers don't depend on non-compatible layers. Also the wrynose/linux-firmware branch of the mixins is not a part of the Yocto Autobuilder. Make sure that meta-qcom layer builds without the extra layers.
Closes #2457