* [PATCH v2 1/6] staging: add 'extend_recipe_sysroot' to 'vardepsexclude'
2026-07-18 13:25 [PATCH v2 0/6] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
@ 2026-07-18 13:25 ` Adam Blank
2026-07-18 13:25 ` [PATCH v2 2/6] cross: " Adam Blank
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Adam Blank @ 2026-07-18 13:25 UTC (permalink / raw)
To: openembedded-core; +Cc: Adam Blank
'do_prepare_recipe_sysroot' did not declare this explicitly,
but made use of the fact, that 'extend_recipe_sysroot' is
ignored on the base hash level.
Also for cached tasks, when prepending them with
'extend_recipe_sysroot', exclude it from their signatures.
Signed-off-by: Adam Blank <adam.blank.g@gmail.com>
---
meta/classes-global/staging.bbclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/classes-global/staging.bbclass b/meta/classes-global/staging.bbclass
index f0b3c6eedc..5833abebc8 100644
--- a/meta/classes-global/staging.bbclass
+++ b/meta/classes-global/staging.bbclass
@@ -650,6 +650,7 @@ do_prepare_recipe_sysroot[deptask] = "do_populate_sysroot"
python do_prepare_recipe_sysroot () {
bb.build.exec_func("extend_recipe_sysroot", d)
}
+do_prepare_recipe_sysroot[vardepsexclude] += "extend_recipe_sysroot"
addtask do_prepare_recipe_sysroot before do_configure after do_fetch
python staging_taskhandler() {
@@ -665,6 +666,7 @@ python staging_taskhandler() {
deps = d.getVarFlag(task, "depends")
if task == "do_configure" or (deps and "populate_sysroot" in deps):
d.prependVarFlag(task, "prefuncs", "extend_recipe_sysroot ")
+ d.appendVarFlag(task, "vardepsexclude", " extend_recipe_sysroot")
}
staging_taskhandler[eventmask] = "bb.event.RecipeTaskPreProcess"
addhandler staging_taskhandler
@@ -700,4 +702,3 @@ python target_add_sysroot_deps () {
d.setVar("HASHEQUIV_EXTRA_SIGDATA", "\n".join("%s: %s" % (k, deps[k]) for k in sorted(deps.keys())))
}
SSTATECREATEFUNCS += "target_add_sysroot_deps"
-
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v2 2/6] cross: add 'extend_recipe_sysroot' to 'vardepsexclude'
2026-07-18 13:25 [PATCH v2 0/6] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
2026-07-18 13:25 ` [PATCH v2 1/6] staging: add 'extend_recipe_sysroot' to 'vardepsexclude' Adam Blank
@ 2026-07-18 13:25 ` Adam Blank
2026-07-18 13:25 ` [PATCH v2 3/6] native: " Adam Blank
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Adam Blank @ 2026-07-18 13:25 UTC (permalink / raw)
To: openembedded-core; +Cc: Adam Blank
'do_addto_recipe_sysroot' did not declare this explicitly,
but made use of the fact, that 'extend_recipe_sysroot' is
ignored on the base hash level.
Signed-off-by: Adam Blank <adam.blank.g@gmail.com>
---
meta/classes-recipe/cross.bbclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/classes-recipe/cross.bbclass b/meta/classes-recipe/cross.bbclass
index 82a49dc8f5..bceee5d6e6 100644
--- a/meta/classes-recipe/cross.bbclass
+++ b/meta/classes-recipe/cross.bbclass
@@ -98,6 +98,7 @@ python do_addto_recipe_sysroot () {
}
addtask addto_recipe_sysroot after do_populate_sysroot
do_addto_recipe_sysroot[deptask] = "do_populate_sysroot"
+do_addto_recipe_sysroot[vardepsexclude] += "extend_recipe_sysroot"
PATH:prepend = "${COREBASE}/scripts/cross-intercept:"
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v2 3/6] native: add 'extend_recipe_sysroot' to 'vardepsexclude'
2026-07-18 13:25 [PATCH v2 0/6] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
2026-07-18 13:25 ` [PATCH v2 1/6] staging: add 'extend_recipe_sysroot' to 'vardepsexclude' Adam Blank
2026-07-18 13:25 ` [PATCH v2 2/6] cross: " Adam Blank
@ 2026-07-18 13:25 ` Adam Blank
2026-07-18 13:25 ` [PATCH v2 4/6] wic-tool: " Adam Blank
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Adam Blank @ 2026-07-18 13:25 UTC (permalink / raw)
To: openembedded-core; +Cc: Adam Blank
'do_addto_recipe_sysroot' did not declare this explicitly,
but made use of the fact, that 'extend_recipe_sysroot' is
ignored on the base hash level.
Signed-off-by: Adam Blank <adam.blank.g@gmail.com>
---
meta/classes-recipe/native.bbclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/classes-recipe/native.bbclass b/meta/classes-recipe/native.bbclass
index 8aa86f9cb6..b357b2da7b 100644
--- a/meta/classes-recipe/native.bbclass
+++ b/meta/classes-recipe/native.bbclass
@@ -170,6 +170,7 @@ python do_addto_recipe_sysroot () {
}
addtask addto_recipe_sysroot after do_populate_sysroot
do_addto_recipe_sysroot[deptask] = "do_populate_sysroot"
+do_addto_recipe_sysroot[vardepsexclude] += "extend_recipe_sysroot"
inherit nopackages
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v2 4/6] wic-tool: add 'extend_recipe_sysroot' to 'vardepsexclude'
2026-07-18 13:25 [PATCH v2 0/6] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
` (2 preceding siblings ...)
2026-07-18 13:25 ` [PATCH v2 3/6] native: " Adam Blank
@ 2026-07-18 13:25 ` Adam Blank
2026-07-18 13:25 ` [PATCH v2 5/6] gcc-runtime: " Adam Blank
2026-07-18 13:25 ` [PATCH v2 6/6] bitbake.conf: remove 'extend_recipe_sysroot' from BB_HASHEXCLUDE_COMMON Adam Blank
5 siblings, 0 replies; 7+ messages in thread
From: Adam Blank @ 2026-07-18 13:25 UTC (permalink / raw)
To: openembedded-core; +Cc: Adam Blank
'do_build_sysroot' did not declare this explicitly,
but made use of the fact, that 'extend_recipe_sysroot' is
ignored on the base hash level.
Signed-off-by: Adam Blank <adam.blank.g@gmail.com>
---
meta/recipes-core/meta/wic-tools.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb
index 823dbe6db6..88fd2dfc19 100644
--- a/meta/recipes-core/meta/wic-tools.bb
+++ b/meta/recipes-core/meta/wic-tools.bb
@@ -29,3 +29,4 @@ python do_build_sysroot () {
bb.build.exec_func("extend_recipe_sysroot", d)
}
addtask do_build_sysroot after do_prepare_recipe_sysroot before do_build
+do_build_sysroot[vardepsexclude] += "extend_recipe_sysroot"
\ No newline at end of file
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v2 5/6] gcc-runtime: add 'extend_recipe_sysroot' to 'vardepsexclude'
2026-07-18 13:25 [PATCH v2 0/6] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
` (3 preceding siblings ...)
2026-07-18 13:25 ` [PATCH v2 4/6] wic-tool: " Adam Blank
@ 2026-07-18 13:25 ` Adam Blank
2026-07-18 13:25 ` [PATCH v2 6/6] bitbake.conf: remove 'extend_recipe_sysroot' from BB_HASHEXCLUDE_COMMON Adam Blank
5 siblings, 0 replies; 7+ messages in thread
From: Adam Blank @ 2026-07-18 13:25 UTC (permalink / raw)
To: openembedded-core; +Cc: Adam Blank
'do_check' did not declare this explicitly,
but made use of the fact, that 'extend_recipe_sysroot' is
ignored on the base hash level.
Signed-off-by: Adam Blank <adam.blank.g@gmail.com>
---
meta/recipes-devtools/gcc/gcc-runtime.inc | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index e305180c64..15ae9c337f 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -309,6 +309,7 @@ do_check[depends] += "virtual/libc:do_populate_sysroot"
do_check[depends] += "${@'qemu-native:do_populate_sysroot' if "user" in d.getVar('TOOLCHAIN_TEST_TARGET') else ''}"
# extend the recipe sysroot to include the built libraries (for qemu usermode)
do_check[prefuncs] += "extend_recipe_sysroot"
+do_check[vardepsexclude] += "extend_recipe_sysroot"
do_check[prefuncs] += "check_prepare"
do_check[dirs] = "${WORKDIR}/dejagnu ${B}"
do_check[nostamp] = "1"
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v2 6/6] bitbake.conf: remove 'extend_recipe_sysroot' from BB_HASHEXCLUDE_COMMON
2026-07-18 13:25 [PATCH v2 0/6] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
` (4 preceding siblings ...)
2026-07-18 13:25 ` [PATCH v2 5/6] gcc-runtime: " Adam Blank
@ 2026-07-18 13:25 ` Adam Blank
5 siblings, 0 replies; 7+ messages in thread
From: Adam Blank @ 2026-07-18 13:25 UTC (permalink / raw)
To: openembedded-core; +Cc: Adam Blank
'extend_recipe_sysroot' can and should be handled just like any other
function. Fine grained use of 'vardepsexclude' is capable of achieving
the same effect as ingoring 'extend_recipe_sysroot' on the base hash
level, but with a better visibility, and is a more uniform approach.
Signed-off-by: Adam Blank <adam.blank.g@gmail.com>
---
meta/conf/bitbake.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index bdf37d0da2..1830cab753 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -964,7 +964,7 @@ BB_HASHEXCLUDE_COMMON ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DI
STAMPS_DIR PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_NOHASHDIR LICENSE_PATH SDKPKGSUFFIX \
WARN_QA WORKDIR STAMPCLEAN PKGDATA_DIR BUILD_ARCH SSTATE_PKGARCH \
- BB_WORKERCONTEXT BB_LIMITEDDEPS BB_UNIHASH extend_recipe_sysroot DEPLOY_DIR \
+ BB_WORKERCONTEXT BB_LIMITEDDEPS BB_UNIHASH DEPLOY_DIR \
SSTATE_HASHEQUIV_METHOD SSTATE_HASHEQUIV_REPORT_TASKDATA \
SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR BB_HASHSERVE GIT_CEILING_DIRECTORIES \
OMP_NUM_THREADS BB_CURRENTTASK"
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread