[PATCH 1/3] isar-sstate: add well-known task for dpkg-source

1 view
Skip to first unread message

Felix Moessbauer

unread,
Sep 22, 2026, 5:09:42 AM (3 days ago) Sep 22
to isar-...@googlegroups.com, adriaan...@siemens.com, Felix Moessbauer
These currently accumulate under others, but this is a well known isar
task. We now map them to the deb entry.

Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
scripts/isar-sstate | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/scripts/isar-sstate b/scripts/isar-sstate
index 767661f6..9e78e8f7 100755
--- a/scripts/isar-sstate
+++ b/scripts/isar-sstate
@@ -803,14 +803,14 @@ def sstate_info(target, verbose, filter, arch, **kwargs):
archs = list(set([f.arch for f in all_files]))
print(f"INFO: found the following archs: {archs}")

- key_task = {'deb': 'dpkg_build',
- 'rootfs': 'rootfs_install',
- 'bootstrap': 'bootstrap'}
+ key_task = {'deb': ['dpkg_build', 'dpkg_source'],
+ 'rootfs': ['rootfs_install'],
+ 'bootstrap': ['bootstrap']}
recipes = {k: [] for k in key_task.keys()}
others = []
for pn in set([f.pn for f in all_files]):
tasks = set([f.task for f in all_files if f.pn == pn])
- ks = [k for k, v in key_task.items() if v in tasks]
+ ks = [k for k, v in key_task.items() if any(t in tasks for t in v)]
if len(ks) == 1:
recipes[ks[0]].append(pn)
elif len(ks) == 0:
@@ -820,7 +820,7 @@ def sstate_info(target, verbose, filter, arch, **kwargs):
for k, entries in recipes.items():
print(f"Cache entries for {k}:")
for pn in entries:
- artifacts = [f for f in all_files if f.pn == pn and f.task == key_task[k] and f.suffix in ['tgz', 'tar.zst']]
+ artifacts = [f for f in all_files if f.pn == pn and f.task in key_task[k] and f.suffix in ['tgz', 'tar.zst']]
print(f" - {pn}: {len(artifacts)} entries")
print("Other cache entries:")
for pn in others:
--
2.55.0

Felix Moessbauer

unread,
Sep 22, 2026, 5:09:44 AM (3 days ago) Sep 22
to isar-...@googlegroups.com, adriaan...@siemens.com, Felix Moessbauer
Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
scripts/isar-sstate | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/scripts/isar-sstate b/scripts/isar-sstate
index 9e78e8f7..130b73d1 100755
--- a/scripts/isar-sstate
+++ b/scripts/isar-sstate
@@ -805,7 +805,9 @@ def sstate_info(target, verbose, filter, arch, **kwargs):

key_task = {'deb': ['dpkg_build', 'dpkg_source'],
'rootfs': ['rootfs_install'],
- 'bootstrap': ['bootstrap']}
+ 'bootstrap': ['bootstrap'],
+ 'apt': ['cache', 'cache_config'],
+ }
recipes = {k: [] for k in key_task.keys()}
others = []
for pn in set([f.pn for f in all_files]):
--
2.55.0

Felix Moessbauer

unread,
Sep 22, 2026, 5:09:45 AM (3 days ago) Sep 22
to isar-...@googlegroups.com, adriaan...@siemens.com, Felix Moessbauer
We currently only dump the number of artifacts on info. However, this
results in some entries where the entry itself is printed but it states
0 entries. This happens when only signatures are available. As the
isar-sstate script anyways has explicit support for signatures, we just
print the number of them as well.

Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
scripts/isar-sstate | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/isar-sstate b/scripts/isar-sstate
index 130b73d1..aadbaeac 100755
--- a/scripts/isar-sstate
+++ b/scripts/isar-sstate
@@ -823,7 +823,8 @@ def sstate_info(target, verbose, filter, arch, **kwargs):
print(f"Cache entries for {k}:")
for pn in entries:
artifacts = [f for f in all_files if f.pn == pn and f.task in key_task[k] and f.suffix in ['tgz', 'tar.zst']]
- print(f" - {pn}: {len(artifacts)} entries")
+ signatures = [f for f in all_files if f.pn == pn and f.task in key_task[k] and f.suffix in ['tgz.siginfo', 'tar.zst.siginfo']]
+ print(f" - {pn}: {len(artifacts)} entries ({len(signatures)} signatures)")
print("Other cache entries:")
for pn in others:
print(f" - {pn}")
--
2.55.0

Reply all
Reply to author
Forward
0 new messages