On Wed, 2026-04-29 at 02:29 -0700, Dora, Sunil Kumar via lists.openembedded.org wrote: > From: Jayasurya Maganuru <[email protected]> > > Fixes [YOCTO #15853] > > The filtering in populate_sdk_ext.bbclass was removing all image targets from > the locked signatures, including the main SDK images (SDK_TARGETS). As a > result, their tasks including the image SPDX/SBOM tasks were not added to > locked-sigs.inc. > > Without these entries, the eSDK lacked the necessary sstate, and the installer > attempted to run the missing tasks during installation, leading to unexpected > task execution errors. > > This patch keeps SDK_TARGETS (and their multilib variants) in the locked > signatures so their SPDX/SBOM tasks are included. With those tasks in the > sstate cache, the eSDK installs cleanly without needing to re-run anything. > > Signed-off-by: Jayasurya Maganuru <[email protected]> > Signed-off-by: Sunil Dora <[email protected]> > --- > meta/classes-recipe/populate_sdk_ext.bbclass | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/meta/classes-recipe/populate_sdk_ext.bbclass > b/meta/classes-recipe/populate_sdk_ext.bbclass > index 071cf959e7..d17fc3af64 100644 > --- a/meta/classes-recipe/populate_sdk_ext.bbclass > +++ b/meta/classes-recipe/populate_sdk_ext.bbclass > @@ -461,6 +461,15 @@ def prepare_locked_cache(d, baseoutpath, derivative, > conf_initpath): > > # Filter the locked signatures file to just the sstate tasks we are > interested in > excluded_targets = get_sdk_install_targets(d, images_only=True) > + sdk_targets = d.getVar('SDK_TARGETS') > + ext_sdk_target_set = set(multilib_pkg_extend(d, sdk_targets).split()) > + excluded_set = set(excluded_targets.split()) > + > + # Ensure SDK_TARGETS and their image SPDX/SBOM tasks are included in the > locked signatures, > + # as they are required during eSDK installation. > + filtered_excluded_set = excluded_set - ext_sdk_target_set > + excluded_targets = ' '.join(filtered_excluded_set) > + > sigfile = d.getVar('WORKDIR') + '/locked-sigs.inc' > lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc' > #nativesdk-only sigfile to merge into locked-sigs.inc
I've commented on the bug for this, I wasn't able to reproduce the problem. If someone can explain how to reproduce the bug with master, I'm willing to look at it further. Having stared at this code a lot, I'm not convinced this patch is right at all, quite the opposite. SDK_TARGETS are explicitly not included in the locked sigs and there isn't a rationale for changing that here. In my own tests, whilst the spdx tasks for the SDK_TARGET do run, they do so with all the right sstate present so it is all working as designed. This patch is therefore not right and if there is a problem, I'd like to see a way to reproduce it. Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#244126): https://lists.openembedded.org/g/openembedded-core/message/244126 Mute This Topic: https://lists.openembedded.org/mt/119061651/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
