summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2025-05-10 09:43:36 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-05-12 22:01:55 +0100
commit79b6409ef74775882d0f0109d64db23fa3d03142 (patch)
tree3acffcda85c801a8f6360b6e603963c6f2031e44 /meta
parentcabcadd9be11b4bc20d892ae23c9b44482aeecd6 (diff)
downloadpoky-79b6409ef74775882d0f0109d64db23fa3d03142.tar.gz
oe/sdk: fix empty SDK manifests
The SDK manifests are generated by listing the sstate was that used, but it hardcodes that the sstate data filenames end in .tgz. This has not been the case since sstate switched to Zstd[1] in 2021, which meant that all of the tests which checked for packages existing were being skipped as the manifests were empty. For example, see a representative core-image-sato eSDK test run[2]: RESULTS - cmake.CMakeTest.test_assimp: SKIPPED (0.00s) RESULTS - gtk3.GTK3Test.test_galculator: SKIPPED (0.00s) RESULTS - kmod.KernelModuleTest.test_cryptodev: SKIPPED (0.00s) RESULTS - maturin.MaturinDevelopTest.test_maturin_develop: SKIPPED (0.00s) RESULTS - maturin.MaturinTest.test_maturin_list_python: SKIPPED (0.00s) RESULTS - meson.MesonTest.test_epoxy: SKIPPED (0.00s) RESULTS - perl.PerlTest.test_perl: SKIPPED (0.00s) RESULTS - python.Python3Test.test_python3: SKIPPED (0.00s) All of those tests should have been ran. Solve this by generalising the filename check so that it doesn't care what specfic compression algorithm is used. [1] oe-core 0710e98f40e ("sstate: Switch to ZStandard compressor support") [2] https://autobuilder.yoctoproject.org/valkyrie/#/builders/16/builds/1517/steps/15/logs/stdio (From OE-Core rev: b293c44f87b6a52e4239ce14066514e87d9b08d0) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/lib/oe/sdk.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/meta/lib/oe/sdk.py b/meta/lib/oe/sdk.py
index 11759aba48..9fe0fbb752 100644
--- a/meta/lib/oe/sdk.py
+++ b/meta/lib/oe/sdk.py
@@ -148,7 +148,8 @@ def get_extra_sdkinfo(sstate_dir):
148 extra_info['filesizes'] = {} 148 extra_info['filesizes'] = {}
149 for root, _, files in os.walk(sstate_dir): 149 for root, _, files in os.walk(sstate_dir):
150 for fn in files: 150 for fn in files:
151 if fn.endswith('.tgz'): 151 # Note that this makes an assumption about the sstate filenames
152 if '.tar.' in fn and not fn.endswith('.siginfo'):
152 fsize = int(math.ceil(float(os.path.getsize(os.path.join(root, fn))) / 1024)) 153 fsize = int(math.ceil(float(os.path.getsize(os.path.join(root, fn))) / 1024))
153 task = fn.rsplit(':',1)[1].split('_',1)[1].split(',')[0] 154 task = fn.rsplit(':',1)[1].split('_',1)[1].split(',')[0]
154 origtotal = extra_info['tasksizes'].get(task, 0) 155 origtotal = extra_info['tasksizes'].get(task, 0)