Patchwork populate_sdk_deb: Fix non x86_64 SDK builds

login
register
mail settings
Submitter Richard Purdie
Date July 26, 2014, 9:13 a.m.
Message ID <1406366001.27697.50.camel@ted>
Download mbox | patch
Permalink /patch/76705/
State Accepted
Commit 7952151dfc45c126041fedf826b94e61030d65a5
Headers show

Comments

Richard Purdie - July 26, 2014, 9:13 a.m.
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]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Patch

diff --git a/meta/classes/populate_sdk_deb.bbclass b/meta/classes/populate_sdk_deb.bbclass
index acb1f73..6690e2e 100644
--- a/meta/classes/populate_sdk_deb.bbclass
+++ b/meta/classes/populate_sdk_deb.bbclass
@@ -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"