Skip to content

Fix Yocto Project Compatibility requirements#2551

Open
lumag wants to merge 8 commits into
qualcomm-linux:wrynosefrom
lumag:fix-mixin-deps
Open

Fix Yocto Project Compatibility requirements#2551
lumag wants to merge 8 commits into
qualcomm-linux:wrynosefrom
lumag:fix-mixin-deps

Conversation

@lumag

@lumag lumag commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

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

lumag added 2 commits June 20, 2026 01:16
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>
lumag added 5 commits June 20, 2026 02:45
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>
In order to ensure that there are no issues in future, drop the mixin
layer from the nodistro builds (untill it's marked as YP-compatible and
added to the autobuilder).

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
@github-actions

Copy link
Copy Markdown

Test run workflow

Test jobs for commit 5b66457

nodistro
Pass: 8 | Fail: 1 | Total: 9
qcom-distro_linux-qcom-next
Pass: 4 | Fail: 6 | Total: 10
qcom-distro
Pass: 5 | Fail: 3 | Total: 8

@test-reporting-app

test-reporting-app Bot commented Jun 20, 2026

Copy link
Copy Markdown

Test Results

  105 files  ± 0    634 suites  ±0   5h 54m 48s ⏱️ + 42m 37s
  125 tests  -  2    125 ✅ +27   0 💤 ±0  0 ❌  - 29 
6 037 runs  +21  5 948 ✅ +49  89 💤 +7  0 ❌  - 35 

Results for commit 5b66457. ± Comparison against base commit 96de983.

♻️ This comment has been updated with latest results.

@github-actions

Copy link
Copy Markdown

Test run workflow

Test jobs for commit 5b66457

nodistro
Pass: 8 | Fail: 1 | Total: 9
qcom-distro_linux-qcom-next
Pass: 4 | Fail: 6 | Total: 10
qcom-distro
Pass: 5 | Fail: 3 | Total: 8

@github-actions

Copy link
Copy Markdown

Test run workflow

Test jobs for commit 5b66457

nodistro
Pass: 7 | Fail: 2 | Total: 9
qcom-distro_linux-qcom-next
Pass: 3 | Fail: 7 | Total: 10
qcom-distro
Pass: 4 | Fail: 4 | Total: 8

@github-actions

Copy link
Copy Markdown

Test run workflow

Test jobs for commit 5b66457

nodistro
Pass: 9 | Fail: 0 | Total: 9
qcom-distro_linux-qcom-next
Pass: 9 | Fail: 1 | Total: 10
qcom-distro
Pass: 208 | Fail: 0 | Total: 250

@github-actions

Copy link
Copy Markdown

Test run workflow

Test jobs for commit 5b66457

nodistro
Pass: 9 | Fail: 0 | Total: 9
qcom-distro_linux-qcom-next
Pass: 248 | Fail: 1 | Total: 292
qcom-distro
Pass: 208 | Fail: 0 | Total: 250

@github-actions

Copy link
Copy Markdown

Test run workflow

Test jobs for commit 5b66457

nodistro
Pass: 9 | Fail: 0 | Total: 9
qcom-distro_linux-qcom-next
Pass: 249 | Fail: 1 | Total: 297
qcom-distro
Pass: 208 | Fail: 0 | Total: 250

1 similar comment
@github-actions

Copy link
Copy Markdown

Test run workflow

Test jobs for commit 5b66457

nodistro
Pass: 9 | Fail: 0 | Total: 9
qcom-distro_linux-qcom-next
Pass: 249 | Fail: 1 | Total: 297
qcom-distro
Pass: 208 | Fail: 0 | Total: 250

Comment thread conf/layer.conf
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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what we must support until meta-lts-mixins / firmware branch is enable and available on the autobuilder.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@quaresmajose any other proposals? The worse case would be to drop the meta-qcom/wrynose from the autobuilder and from the YP compatibility program.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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.

@quaresmajose quaresmajose Jun 22, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[wrynose] meta-lts-mixin dependency broke Yocto autobuilder builds

3 participants