multilib: add MLPREFIX to deploy folder
authorDongxiao Xu <dongxiao.xu@intel.com>
Wed, 28 Sep 2011 11:44:28 +0000 (19:44 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 28 Sep 2011 20:41:45 +0000 (21:41 +0100)
Add MLPREFIX to multilib deploy forlder to avoid the confliction between
multilib and normal package deploy directory.

(From OE-Core rev: 18b8d1f7769b63725c3b6883298a841806cd06ab)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/multilib.bbclass
meta/classes/package_rpm.bbclass
meta/classes/rootfs_rpm.bbclass

index 6c0dd37..1aed2a9 100644 (file)
@@ -92,9 +92,4 @@ python __anonymous () {
     multilib_map_variable("PACKAGES_DYNAMIC", variant, d)
     multilib_map_variable("PACKAGE_INSTALL", variant, d)
     multilib_map_variable("INITSCRIPT_PACKAGES", variant, d)
-
-    package_arch = d.getVar("PACKAGE_ARCH", True)
-    machine_arch = d.getVar("MACHINE_ARCH", True)
-    if package_arch == machine_arch:
-        d.setVar("PACKAGE_ARCH", variant + "_" + package_arch)
 }
index d327841..fa0d8c3 100644 (file)
@@ -904,8 +904,14 @@ python do_package_rpm () {
        rpmbuild = bb.data.getVar('RPMBUILD', d, True)
        targetsys = bb.data.getVar('TARGET_SYS', d, True)
        targetvendor = bb.data.getVar('TARGET_VENDOR', d, True)
-       pkgwritedir = bb.data.expand('${PKGWRITEDIRRPM}/${PACKAGE_ARCH}', d)
-       pkgarch = bb.data.expand('${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}', d)
+       package_arch = bb.data.getVar('PACKAGE_ARCH', d, True) or ""
+       if package_arch not in "all any noarch".split():
+               ml_prefix = (bb.data.getVar('MLPREFIX', d, True) or "").replace("-", "_")
+               bb.data.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch, d)
+       else:
+               bb.data.setVar('PACKAGE_ARCH_EXTEND', package_arch, d)
+       pkgwritedir = bb.data.expand('${PKGWRITEDIRRPM}/${PACKAGE_ARCH_EXTEND}', d)
+       pkgarch = bb.data.expand('${PACKAGE_ARCH_EXTEND}${TARGET_VENDOR}-${TARGET_OS}', d)
        magicfile = bb.data.expand('${STAGING_DIR_NATIVE}/usr/share/misc/magic.mgc', d)
        bb.mkdirhier(pkgwritedir)
        os.chmod(pkgwritedir, 0755)
index 5ac6bca..dd370b2 100644 (file)
@@ -220,8 +220,8 @@ python () {
             default_tune = localdata.getVar("DEFAULTTUNE_virtclass-multilib-" + eext[1], False)
             if default_tune:
                 localdata.setVar("DEFAULTTUNE", default_tune)
-            localdata.setVar("MACHINE_ARCH", eext[1] + "_" + localdata.getVar("MACHINE_ARCH", False))
             package_archs = localdata.getVar("PACKAGE_ARCHS", True) or ""
+            package_archs = " ".join([i in "all noarch any".split() and i or eext[1]+"_"+i for i in package_archs.split()])
             ml_package_archs += " " + package_archs
             ml_prefix_list += " " + eext[1]
             #bb.note("ML_PACKAGE_ARCHS %s %s %s" % (eext[1], localdata.getVar("PACKAGE_ARCHS", True) or "(none)", overrides))