Skip to contentSkip to conversation

populate_sdk_deb: Fix non x86_64 SDK builds

PATCH New Richard Purdie 1 participant 1 message Jul 26, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 populate_sdk_deb: Fix non x86_64 SDK builds

If building with SDKMACHINE=i686 and using the deb backend, populate_sdk would fail. Its clear when looking at the options that the 32 bit values were overwritten.

Replace this code with code similar to that used in package_deb itself.

[YOCTO #6458]

meta/classes/populate_sdk_deb.bbclass +10 -5
index acb1f73..6690e2e 100644
@@ -1,11 +1,16 @@
 do_populate_sdk[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot bzip2-native:do_populate_sysroot"
 
-DEB_SDK_ARCH = "${@[d.getVar('SDK_ARCH', True), "i386"]\
-                [d.getVar('SDK_ARCH', True) in \
-                ["x86", "i486", "i586", "i686", "pentium"]]}"
+python () {
+    # Map TARGET_ARCH to Debian's ideas about architectures
+    darch = d.getVar('SDK_ARCH', True)
+    if darch in ["x86", "i486", "i586", "i686", "pentium"]:
+         d.setVar('DEB_SDK_ARCH', 'i386')
+    elif darch == "x86_64":
+         d.setVar('DEB_SDK_ARCH', 'amd64')
+    elif darch == "arm":
+         d.setVar('DEB_SDK_ARCH', 'armel')
+}
 
-DEB_SDK_ARCH = "${@[d.getVar('SDK_ARCH', True), "amd64"]\
-                [d.getVar('SDK_ARCH', True) == "x86_64"]}"
 
 do_populate_sdk[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"