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 <Maganuru.Jayasurya@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
# 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