[1/2] sstate: do not add TARGET_ARCH to pkgarch for cross recipes.

Message ID 20220226150217.2793953-1-alex@linutronix.de
State Accepted, archived
Commit 33fc1792cd782feb8dbb4285e3006bb588f7978f
Headers show
Series [1/2] sstate: do not add TARGET_ARCH to pkgarch for cross recipes. | expand

Commit Message

Alexander Kanavin Feb. 26, 2022, 3:02 p.m. UTC
This is redundant (target arch is already in PN), and breaks
compiling a cross-canadian toolchain, as that needs populating the
sysroot with two different native-hosted toolchains built from
cross recipes. Inserting TARGET_ARCH allows only one or the other.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/classes/sstate.bbclass | 3 +--
 meta/lib/oe/sstatesig.py    | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

Comments

Lee, Chee Yang March 2, 2022, 7:24 a.m. UTC | #1
Need to update selftest too? 

sstatetests.SStateTests.test_sstate_allarch_samesigs 

https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/3234/steps/14/logs/stdio


> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-
> core@lists.openembedded.org> On Behalf Of Alexander Kanavin
> Sent: Saturday, 26 February, 2022 11:02 PM
> To: openembedded-core@lists.openembedded.org
> Cc: Alexander Kanavin <alex@linutronix.de>
> Subject: [OE-core] [PATCH 1/2] sstate: do not add TARGET_ARCH to pkgarch for
> cross recipes.
> 
> This is redundant (target arch is already in PN), and breaks compiling a cross-
> canadian toolchain, as that needs populating the sysroot with two different
> native-hosted toolchains built from cross recipes. Inserting TARGET_ARCH
> allows only one or the other.
> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/classes/sstate.bbclass | 3 +--
>  meta/lib/oe/sstatesig.py    | 2 +-
>  2 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index
> 787172b408..dc9a2c085b 100644
> --- a/meta/classes/sstate.bbclass
> +++ b/meta/classes/sstate.bbclass
> @@ -83,7 +83,6 @@ SSTATE_ARCHS = " \
>      ${BUILD_ARCH} \
>      ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \
>      ${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \
> -    ${BUILD_ARCH}_${TARGET_ARCH} \
>      ${SDK_ARCH}_${SDK_OS} \
>      ${SDK_ARCH}_${PACKAGE_ARCH} \
>      allarch \
> @@ -138,7 +137,7 @@ python () {
>      elif bb.data.inherits_class('crosssdk', d):
>          d.setVar('SSTATE_PKGARCH',
> d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"))
>      elif bb.data.inherits_class('cross', d):
> -        d.setVar('SSTATE_PKGARCH',
> d.expand("${BUILD_ARCH}_${TARGET_ARCH}"))
> +        d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}"))
>      elif bb.data.inherits_class('nativesdk', d):
>          d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${SDK_OS}"))
>      elif bb.data.inherits_class('cross-canadian', d):
> diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index
> abcd96231e..2cf858e201 100644
> --- a/meta/lib/oe/sstatesig.py
> +++ b/meta/lib/oe/sstatesig.py
> @@ -443,7 +443,7 @@ def find_sstate_manifest(taskdata, taskdata2, taskname,
> d, multilibcache):
>      elif "-cross-canadian" in taskdata:
>          pkgarchs = ["${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX}"]
>      elif "-cross-" in taskdata:
> -        pkgarchs = ["${BUILD_ARCH}_${TARGET_ARCH}"]
> +        pkgarchs = ["${BUILD_ARCH}"]
>      elif "-crosssdk" in taskdata:
>          pkgarchs = ["${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"]
>      else:
> --
> 2.20.1
Alexander Kanavin March 2, 2022, 8:49 a.m. UTC | #2
I just ran this locally, and it passed - probably caused by a different commit?

Alex

On Wed, 2 Mar 2022 at 08:24, Lee, Chee Yang <chee.yang.lee@intel.com> wrote:
>
> Need to update selftest too?
>
> sstatetests.SStateTests.test_sstate_allarch_samesigs
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/3234/steps/14/logs/stdio
>
>
> > -----Original Message-----
> > From: openembedded-core@lists.openembedded.org <openembedded-
> > core@lists.openembedded.org> On Behalf Of Alexander Kanavin
> > Sent: Saturday, 26 February, 2022 11:02 PM
> > To: openembedded-core@lists.openembedded.org
> > Cc: Alexander Kanavin <alex@linutronix.de>
> > Subject: [OE-core] [PATCH 1/2] sstate: do not add TARGET_ARCH to pkgarch for
> > cross recipes.
> >
> > This is redundant (target arch is already in PN), and breaks compiling a cross-
> > canadian toolchain, as that needs populating the sysroot with two different
> > native-hosted toolchains built from cross recipes. Inserting TARGET_ARCH
> > allows only one or the other.
> >
> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > ---
> >  meta/classes/sstate.bbclass | 3 +--
> >  meta/lib/oe/sstatesig.py    | 2 +-
> >  2 files changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index
> > 787172b408..dc9a2c085b 100644
> > --- a/meta/classes/sstate.bbclass
> > +++ b/meta/classes/sstate.bbclass
> > @@ -83,7 +83,6 @@ SSTATE_ARCHS = " \
> >      ${BUILD_ARCH} \
> >      ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \
> >      ${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \
> > -    ${BUILD_ARCH}_${TARGET_ARCH} \
> >      ${SDK_ARCH}_${SDK_OS} \
> >      ${SDK_ARCH}_${PACKAGE_ARCH} \
> >      allarch \
> > @@ -138,7 +137,7 @@ python () {
> >      elif bb.data.inherits_class('crosssdk', d):
> >          d.setVar('SSTATE_PKGARCH',
> > d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"))
> >      elif bb.data.inherits_class('cross', d):
> > -        d.setVar('SSTATE_PKGARCH',
> > d.expand("${BUILD_ARCH}_${TARGET_ARCH}"))
> > +        d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}"))
> >      elif bb.data.inherits_class('nativesdk', d):
> >          d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${SDK_OS}"))
> >      elif bb.data.inherits_class('cross-canadian', d):
> > diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index
> > abcd96231e..2cf858e201 100644
> > --- a/meta/lib/oe/sstatesig.py
> > +++ b/meta/lib/oe/sstatesig.py
> > @@ -443,7 +443,7 @@ def find_sstate_manifest(taskdata, taskdata2, taskname,
> > d, multilibcache):
> >      elif "-cross-canadian" in taskdata:
> >          pkgarchs = ["${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX}"]
> >      elif "-cross-" in taskdata:
> > -        pkgarchs = ["${BUILD_ARCH}_${TARGET_ARCH}"]
> > +        pkgarchs = ["${BUILD_ARCH}"]
> >      elif "-crosssdk" in taskdata:
> >          pkgarchs = ["${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"]
> >      else:
> > --
> > 2.20.1
>
Richard Purdie March 2, 2022, 11:19 a.m. UTC | #3
On Wed, 2022-03-02 at 09:49 +0100, Alexander Kanavin wrote:
> I just ran this locally, and it passed - probably caused by a different commit?

I suspect Ross has a change which may be to blame...

Cheers,

Richard

Patch

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 787172b408..dc9a2c085b 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -83,7 +83,6 @@  SSTATE_ARCHS = " \
     ${BUILD_ARCH} \
     ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \
     ${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \
-    ${BUILD_ARCH}_${TARGET_ARCH} \
     ${SDK_ARCH}_${SDK_OS} \
     ${SDK_ARCH}_${PACKAGE_ARCH} \
     allarch \
@@ -138,7 +137,7 @@  python () {
     elif bb.data.inherits_class('crosssdk', d):
         d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"))
     elif bb.data.inherits_class('cross', d):
-        d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${TARGET_ARCH}"))
+        d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}"))
     elif bb.data.inherits_class('nativesdk', d):
         d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${SDK_OS}"))
     elif bb.data.inherits_class('cross-canadian', d):
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index abcd96231e..2cf858e201 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -443,7 +443,7 @@  def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache):
     elif "-cross-canadian" in taskdata:
         pkgarchs = ["${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX}"]
     elif "-cross-" in taskdata:
-        pkgarchs = ["${BUILD_ARCH}_${TARGET_ARCH}"]
+        pkgarchs = ["${BUILD_ARCH}"]
     elif "-crosssdk" in taskdata:
         pkgarchs = ["${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"]
     else: