[PATCH 2/2] do_unpack: do not expand S to avoid absolute path in signatures

0 views
Skip to first unread message

Felix Moessbauer

unread,
Sep 24, 2026, 2:46:02 AM (7 days ago) Sep 24
to isar-...@googlegroups.com, jan.k...@siemens.com, Felix Moessbauer
We currently fully expand S before passing it to do_unpack. This makes
all packages that depend on the apt fetcher not cacheable, as the
absolute path ends up in the sstate signatures. Instead, we now use the
unexpanded bitbake variable ${S}.

Fixes: 37cb017a ("Convert apt source fetcher into native ...")
Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
meta/classes-recipe/dpkg-base.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes-recipe/dpkg-base.bbclass b/meta/classes-recipe/dpkg-base.bbclass
index fbb952bd..b392211b 100644
--- a/meta/classes-recipe/dpkg-base.bbclass
+++ b/meta/classes-recipe/dpkg-base.bbclass
@@ -105,7 +105,7 @@ python() {
if u.startswith("apt://"):
d.appendVarFlag('do_fetch', 'depends', d.getVar('SCHROOT_DEP'))

- d.appendVarFlag('do_unpack', 'cleandirs', d.getVar('S'))
+ d.appendVarFlag('do_unpack', 'cleandirs', '${S}')
d.setVarFlag('do_unpack', 'network', d.getVar('TASK_USE_SUDO'))
break

--
2.55.0

Felix Moessbauer

unread,
Sep 24, 2026, 2:46:02 AM (7 days ago) Sep 24
to isar-...@googlegroups.com, jan.k...@siemens.com, Felix Moessbauer
We previously only linted all uppercase variables, but by that we missed
absolute path in task flags (e.g. do_unpack[cleandirs]). Lint them as
well.

The exact reason why we only linted the uppercase variables remains
unclear. On todays caches, this neither has a significant performance
impact, nor does it report false positives.

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

diff --git a/scripts/isar-sstate b/scripts/isar-sstate
index ada154e2..5d7b8ebc 100755
--- a/scripts/isar-sstate
+++ b/scripts/isar-sstate
@@ -894,8 +894,6 @@ def sstate_lint(target, verbose, sources_dir, build_dir, exit_code, pedantic, li

pn_issues = []
for name, val in sigdata['varvals'].items():
- if not name[0].isupper():
- continue
if sigdata['basehash_ignore_vars'] and name in sigdata['basehash_ignore_vars'] or \
sigdata['taskhash_ignore_tasks'] and name in sigdata['taskhash_ignore_tasks'] or \
name in ADDITIONAL_IGNORED_VARNAMES:
--
2.55.0

Reply all
Reply to author
Forward
0 new messages