diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index 6c0dd37930..1aed2a9f97 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass @@ -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) } diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index d327841250..fa0d8c3457 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -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) diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass index 5ac6bcadfe..dd370b263a 100644 --- a/meta/classes/rootfs_rpm.bbclass +++ b/meta/classes/rootfs_rpm.bbclass @@ -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))