> -----Original Message-----
> From: [email protected] 
> <[email protected]> On Behalf Of Richard Purdie via 
> lists.openembedded.org
> Sent: den 14 mars 2026 11:27
> To: [email protected]
> Subject: [OE-core] [PATCH] sstate/sstatesig: Abstract dummy package 
> architectures into layer.conf settings
> 
> Other layers need to be able to add dummy recipes. To do this add
> DUMMY_PACKAGE_ARCHS_SDK and DUMMY_PACKAGE_ARCHS_TARGET in layer.conf
> which can be used to add these to the right places in the code.
> 
> Don't add the variables to task signatures as these only matter in the
> context of constructed images and not the recipes.
> 
> d-off-by: Richard Purdie <[email protected]>
> ---
>  meta/classes-global/sstate.bbclass | 7 +++----
>  meta/conf/layer.conf               | 3 +++
>  meta/lib/oe/sstatesig.py           | 9 +++------
>  3 files changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/meta/classes-global/sstate.bbclass 
> b/meta/classes-global/sstate.bbclass
> index a7c3f5332a2..fe70a976869 100644
> --- a/meta/classes-global/sstate.bbclass
> +++ b/meta/classes-global/sstate.bbclass
> @@ -86,14 +86,13 @@ SSTATE_ARCHS = " \
>      ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \
>      ${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \
>      ${SDK_ARCH}-${SDKPKGSUFFIX} \
> -    buildtools-dummy-${SDKPKGSUFFIX} \
> -    sdk-provides-dummy-target \
> -    sdk-provides-dummy-${SDKPKGSUFFIX} \
> +    ${DUMMY_PACKAGE_ARCHS_SDK} \
> +    ${DUMMY_PACKAGE_ARCHS_TARGET} \
>      allarch \
>      ${SSTATE_ARCHS_TUNEPKG} \
>      ${PACKAGE_EXTRA_ARCHS} \
>      ${MACHINE_ARCH}"
> -SSTATE_ARCHS[vardepsexclude] = "ORIGNATIVELSBSTRING"
> +SSTATE_ARCHS[vardepsexclude] = "ORIGNATIVELSBSTRING DUMMY_PACKAGE_ARCHS_SDK 
> DUMMY_PACKAGE_ARCHS_TARGET"
> 
>  SSTATECREATEFUNCS += "sstate_hardcode_path"
>  SSTATECREATEFUNCS[vardeps] = "SSTATE_SCAN_FILES"
> diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
> index ba25ca30296..4794e660aed 100644
> --- a/meta/conf/layer.conf
> +++ b/meta/conf/layer.conf
> @@ -133,6 +133,9 @@ SSTATE_EXCLUDEDEPS_SYSROOT += "\
>  # dependency in the recipe.
>  SSTATE_EXCLUDEDEPS_SYSROOT += ".*->autoconf-archive-native"
> 
> +DUMMY_PACKAGE_ARCHS_SDK = "buildtools-dummy-${SDKPKGSUFFIX} 
> sdk-provides-dummy-${SDKPKGSUFFIX}"
> +DUMMY_PACKAGE_ARCHS_TARGET = "sdk-provides-dummy-target"

Wouldn't it be more appropriate to use += for these two?
Otherwise one will have to use :append to add to them in other layers.

> +
>  # We need to keep bitbake tools in PATH
>  # Avoid empty path entries
>  BITBAKEPATH := 
> "${@os.path.dirname(bb.utils.which(d.getVar('PATH'),'bitbake'))}"
> diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
> index 86d159ed209..cae12eb8781 100644
> --- a/meta/lib/oe/sstatesig.py
> +++ b/meta/lib/oe/sstatesig.py
> @@ -494,7 +494,7 @@ def sstate_get_manifest_filename(task, d):
>          d2.setVar("SSTATE_PKGARCH", extrainf)
>      return (d2.expand("${SSTATE_MANFILEPREFIX}.%s" % task), d2)
> 
> [email protected]("BBEXTENDCURR", "BBEXTENDVARIANT", "OVERRIDES", 
> "PACKAGE_EXTRA_ARCHS")
> [email protected]("BBEXTENDCURR", "BBEXTENDVARIANT", "OVERRIDES", 
> "PACKAGE_EXTRA_ARCHS", "DUMMY_PACKAGE_ARCHS_SDK", 
> "DUMMY_PACKAGE_ARCHS_TARGET")
>  def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache):
>      d2 = d
>      variant = ''
> @@ -513,10 +513,7 @@ def find_sstate_manifest(taskdata, taskdata2, taskname, 
> d, multilibcache):
>      if taskdata.endswith("-native"):
>          pkgarchs = ["${BUILD_ARCH}", "${BUILD_ARCH}_${ORIGNATIVELSBSTRING}"]
>      elif taskdata.startswith("nativesdk-") or "-cross-canadian" in taskdata:
> -        pkgarchs = ["${SDK_ARCH}-${SDKPKGSUFFIX}",
> -                    "allarch",
> -                    "buildtools-dummy-${SDKPKGSUFFIX}",
> -                    "sdk-provides-dummy-${SDKPKGSUFFIX}"]
> +        pkgarchs = ["${SDK_ARCH}-${SDKPKGSUFFIX}", "allarch", 
> (d.getVar("DUMMY_PACKAGE_ARCHS_SDK") or "").split()]
>      elif "-cross-" in taskdata:
>          pkgarchs = ["${BUILD_ARCH}"]
>      elif "-crosssdk" in taskdata:
> @@ -525,7 +522,7 @@ def find_sstate_manifest(taskdata, taskdata2, taskname, 
> d, multilibcache):
>          pkgarchs = ['${MACHINE_ARCH}']
>          pkgarchs = pkgarchs + 
> list(reversed(d2.getVar("PACKAGE_EXTRA_ARCHS").split()))
>          pkgarchs.append('allarch')
> -        pkgarchs.append('sdk-provides-dummy-target')
> +        pkgarchs.extend((d.getVar("DUMMY_PACKAGE_ARCHS_TARGET") or 
> "").split() )
>          pkgarchs.append('${SDK_ARCH}-${SDKPKGSUFFIX}')
> 
>      searched_manifests = []

//Peter

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#233247): 
https://lists.openembedded.org/g/openembedded-core/message/233247
Mute This Topic: https://lists.openembedded.org/mt/118311664/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to