public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON'
@ 2026-04-18 18:34 Adam Blank
  2026-04-18 18:34 ` [PATCH 1/7] package_pkgdata: fix typo to stop calling undefined function Adam Blank
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Adam Blank @ 2026-04-18 18:34 UTC (permalink / raw)
  To: openembedded-core; +Cc: Adam Blank

It has lain there for a while, obscuring certain aspects of
how task signatures are calculated.

This changeset does not change the current status quo, but
rather changes the way in which it is implemented. It can be
followed by changes which further refine what is excluded and
how, from those tasks which refer to 'extend_recipe_sysroot'.

Related discussion:
https://lore.kernel.org/openembedded-core/aa893eb861bf4dd18e3e84e6bbebdee3b0367d1b.camel@linuxfoundation.org/

Signed-off-by: Adam Blank <adam.blank.g@gmail.com>
---
Adam Blank (7):
      package_pkgdata: fix typo to stop calling undefined function
      staging: add 'vardepsexclude' to 'staging_populate_sysroot_dir'
      staging: add 'extend_recipe_sysroot' to 'vardepsexclude'
      cross: add 'extend_recipe_sysroot' to 'vardepsexclude'
      native: add 'extend_recipe_sysroot' to 'vardepsexclude'
      wic-tool: add 'extend_recipe_sysroot' to 'vardepsexclude'
      bitbake.conf: remove 'extend_recipe_sysroot' from BB_HASHEXCLUDE_COMMON

 meta/classes-global/package_pkgdata.bbclass | 4 +++-
 meta/classes-global/staging.bbclass         | 5 ++++-
 meta/classes-recipe/cross.bbclass           | 1 +
 meta/classes-recipe/native.bbclass          | 1 +
 meta/conf/bitbake.conf                      | 2 +-
 meta/recipes-core/meta/wic-tools.bb         | 1 +
 6 files changed, 11 insertions(+), 3 deletions(-)
---
base-commit: d9b69d0a2d69e003b9432e1473830a89ff5a06c4
change-id: 20260418-extend_recipe_sysroot-d958ba9cfa9a

Best regards,
-- 
Adam Blank <adam.blank.g@gmail.com>



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/7] package_pkgdata: fix typo to stop calling undefined function
  2026-04-18 18:34 [PATCH 0/7] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
@ 2026-04-18 18:34 ` Adam Blank
  2026-04-18 18:34 ` [PATCH 2/7] staging: add 'vardepsexclude' to 'staging_populate_sysroot_dir' Adam Blank
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Adam Blank @ 2026-04-18 18:34 UTC (permalink / raw)
  To: openembedded-core; +Cc: Adam Blank

The function is named 'package_populate_pkgdata_dir' but the
call was to 'staging_package_populate_pkgdata_dir'.

Signed-off-by: Adam Blank <adam.blank.g@gmail.com>
---
 meta/classes-global/package_pkgdata.bbclass | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/classes-global/package_pkgdata.bbclass b/meta/classes-global/package_pkgdata.bbclass
index f653bd9240..b2f4e7594c 100644
--- a/meta/classes-global/package_pkgdata.bbclass
+++ b/meta/classes-global/package_pkgdata.bbclass
@@ -31,6 +31,8 @@ def package_populate_pkgdata_dir(pkgdatadir, d):
                     except FileExistsError:
                         continue
 
+package_populate_pkgdata_dir[vardepsexclude] += "MACHINE_ARCH PACKAGE_EXTRA_ARCHS"
+
 python package_prepare_pkgdata() {
     import copy
     import glob
@@ -47,7 +49,7 @@ python package_prepare_pkgdata() {
     # Detect bitbake -b usage
     nodeps = d.getVar("BB_LIMITEDDEPS") or False
     if nodeps:
-        staging_package_populate_pkgdata_dir(pkgdatadir, d)
+        package_populate_pkgdata_dir(pkgdatadir, d)
         return
 
     start = None

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/7] staging: add 'vardepsexclude' to 'staging_populate_sysroot_dir'
  2026-04-18 18:34 [PATCH 0/7] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
  2026-04-18 18:34 ` [PATCH 1/7] package_pkgdata: fix typo to stop calling undefined function Adam Blank
@ 2026-04-18 18:34 ` Adam Blank
  2026-04-18 18:34 ` [PATCH 3/7] staging: add 'extend_recipe_sysroot' to 'vardepsexclude' Adam Blank
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Adam Blank @ 2026-04-18 18:34 UTC (permalink / raw)
  To: openembedded-core; +Cc: Adam Blank

It will be needed when 'extend_recipe_sysroot' is no longer
ignored when calculating signatures.

Signed-off-by: Adam Blank <adam.blank.g@gmail.com>
---
 meta/classes-global/staging.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes-global/staging.bbclass b/meta/classes-global/staging.bbclass
index 1008867a6c..259603dcbf 100644
--- a/meta/classes-global/staging.bbclass
+++ b/meta/classes-global/staging.bbclass
@@ -248,6 +248,8 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d):
     for p in sorted(postinsts):
         bb.note("Running postinst {}, output:\n{}".format(p, subprocess.check_output(p, shell=True, stderr=subprocess.STDOUT)))
 
+staging_populate_sysroot_dir[vardepsexclude] += "PACKAGE_EXTRA_ARCHS"
+
 #
 # Manifests here are complicated. The main sysroot area has the unpacked sstate
 # which us unrelocated and tracked by the main sstate manifests. Each recipe

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/7] staging: add 'extend_recipe_sysroot' to 'vardepsexclude'
  2026-04-18 18:34 [PATCH 0/7] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
  2026-04-18 18:34 ` [PATCH 1/7] package_pkgdata: fix typo to stop calling undefined function Adam Blank
  2026-04-18 18:34 ` [PATCH 2/7] staging: add 'vardepsexclude' to 'staging_populate_sysroot_dir' Adam Blank
@ 2026-04-18 18:34 ` Adam Blank
  2026-04-18 18:34 ` [PATCH 4/7] cross: " Adam Blank
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Adam Blank @ 2026-04-18 18:34 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.

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 259603dcbf..3684e76bd7 100644
--- a/meta/classes-global/staging.bbclass
+++ b/meta/classes-global/staging.bbclass
@@ -645,12 +645,13 @@ python extend_recipe_sysroot() {
 
     bb.utils.unlockfile(lock)
 }
-extend_recipe_sysroot[vardepsexclude] += "MACHINE_ARCH PACKAGE_EXTRA_ARCHS SDK_ARCH BUILD_ARCH SDK_OS BB_TASKDEPDATA"
+extend_recipe_sysroot[vardepsexclude] += "BB_TASKDEPDATA"
 
 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() {

-- 
2.43.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/7] cross: add 'extend_recipe_sysroot' to 'vardepsexclude'
  2026-04-18 18:34 [PATCH 0/7] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
                   ` (2 preceding siblings ...)
  2026-04-18 18:34 ` [PATCH 3/7] staging: add 'extend_recipe_sysroot' to 'vardepsexclude' Adam Blank
@ 2026-04-18 18:34 ` Adam Blank
  2026-04-18 18:34 ` [PATCH 5/7] native: " Adam Blank
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Adam Blank @ 2026-04-18 18:34 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] 8+ messages in thread

* [PATCH 5/7] native: add 'extend_recipe_sysroot' to 'vardepsexclude'
  2026-04-18 18:34 [PATCH 0/7] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
                   ` (3 preceding siblings ...)
  2026-04-18 18:34 ` [PATCH 4/7] cross: " Adam Blank
@ 2026-04-18 18:34 ` Adam Blank
  2026-04-18 18:34 ` [PATCH 6/7] wic-tool: " Adam Blank
  2026-04-18 18:34 ` [PATCH 7/7] bitbake.conf: remove 'extend_recipe_sysroot' from BB_HASHEXCLUDE_COMMON Adam Blank
  6 siblings, 0 replies; 8+ messages in thread
From: Adam Blank @ 2026-04-18 18:34 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 9f4ca170f7..ac9458a2f4 100644
--- a/meta/classes-recipe/native.bbclass
+++ b/meta/classes-recipe/native.bbclass
@@ -176,6 +176,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] 8+ messages in thread

* [PATCH 6/7] wic-tool: add 'extend_recipe_sysroot' to 'vardepsexclude'
  2026-04-18 18:34 [PATCH 0/7] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
                   ` (4 preceding siblings ...)
  2026-04-18 18:34 ` [PATCH 5/7] native: " Adam Blank
@ 2026-04-18 18:34 ` Adam Blank
  2026-04-18 18:34 ` [PATCH 7/7] bitbake.conf: remove 'extend_recipe_sysroot' from BB_HASHEXCLUDE_COMMON Adam Blank
  6 siblings, 0 replies; 8+ messages in thread
From: Adam Blank @ 2026-04-18 18:34 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 45fb873dd6..1f86347739 100644
--- a/meta/recipes-core/meta/wic-tools.bb
+++ b/meta/recipes-core/meta/wic-tools.bb
@@ -27,3 +27,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] 8+ messages in thread

* [PATCH 7/7] bitbake.conf: remove 'extend_recipe_sysroot' from BB_HASHEXCLUDE_COMMON
  2026-04-18 18:34 [PATCH 0/7] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
                   ` (5 preceding siblings ...)
  2026-04-18 18:34 ` [PATCH 6/7] wic-tool: " Adam Blank
@ 2026-04-18 18:34 ` Adam Blank
  6 siblings, 0 replies; 8+ messages in thread
From: Adam Blank @ 2026-04-18 18:34 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 9fcd16615d..87c6a700d2 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -961,7 +961,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] 8+ messages in thread

end of thread, other threads:[~2026-04-18 18:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-18 18:34 [PATCH 0/7] Remove 'extend_recipe_sysroot' from 'BB_HASHEXCLUDE_COMMON' Adam Blank
2026-04-18 18:34 ` [PATCH 1/7] package_pkgdata: fix typo to stop calling undefined function Adam Blank
2026-04-18 18:34 ` [PATCH 2/7] staging: add 'vardepsexclude' to 'staging_populate_sysroot_dir' Adam Blank
2026-04-18 18:34 ` [PATCH 3/7] staging: add 'extend_recipe_sysroot' to 'vardepsexclude' Adam Blank
2026-04-18 18:34 ` [PATCH 4/7] cross: " Adam Blank
2026-04-18 18:34 ` [PATCH 5/7] native: " Adam Blank
2026-04-18 18:34 ` [PATCH 6/7] wic-tool: " Adam Blank
2026-04-18 18:34 ` [PATCH 7/7] bitbake.conf: remove 'extend_recipe_sysroot' from BB_HASHEXCLUDE_COMMON Adam Blank

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox