Skip to contentSkip to conversation

sstate.bbclass: Move crosssdk before cross to ensure correct variables are set

PATCH New Richard Purdie 1 participant 1 message Jul 12, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sstate.bbclass: Move crosssdk before cross to ensure correct variables are set

There was a bug showing up where the crosssdk recipes were being installed as machine specific in the sstate-control directory. This turned out to be due to the architecture fields used by sstate being set incorrectly. The problem is that the crosssdk inherits the cross class. It therefore needs to be listed in this if statement block before the cross check, not after.

This should resolve some package architecture issue of crosssdk sstate files.

---

meta/classes/sstate.bbclass +2 -2
index 4242f88..c2c5bd5 100644
@@ -23,11 +23,11 @@ SSTATEPOSTINSTFUNCS ?= ""
 python () {
     if bb.data.inherits_class('native', d):
         d.setVar('SSTATE_PKGARCH', d.getVar('BUILD_ARCH'))
+    elif bb.data.inherits_class('crosssdk', d):
+        d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}"))
     elif bb.data.inherits_class('cross', d):
         d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${TUNE_PKGARCH}"))
         d.setVar('SSTATE_MANMACH', d.expand("${BUILD_ARCH}_${MACHINE}"))
-    elif bb.data.inherits_class('crosssdk', d):
-        d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${PACKAGE_ARCH}"))
     elif bb.data.inherits_class('nativesdk', d):
         d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}"))
     elif bb.data.inherits_class('cross-canadian', d):