rpm: add multilib prefix for archs under deploy/rpm

Currently MACHINE_ARCH deploy folder is unique in multilib system, thus
a lib32 version of rpm package will override a normal rpm package if
its PACKAGE_ARCH is ${MACHINE_ARCH}.

Define different deploy folder for multilib architectures to avoid the
confliction.

(From OE-Core rev: 921f984aa65e23d5a8ec5c2e58a96cb8a4790b5d)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dongxiao Xu
2011-09-08 21:35:37 +08:00
committed by Richard Purdie
parent 59a08907ea
commit 719e1edaeb
2 changed files with 8 additions and 1 deletions

View File

@@ -76,4 +76,9 @@ 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)
}

View File

@@ -218,7 +218,9 @@ python () {
default_tune = localdata.getVar("DEFAULTTUNE_virtclass-multilib-" + eext[1], False)
if default_tune:
localdata.setVar("DEFAULTTUNE", default_tune)
ml_package_archs += localdata.getVar("PACKAGE_ARCHS", True) or ""
localdata.setVar("MACHINE_ARCH", eext[1] + "_" + localdata.getVar("MACHINE_ARCH", False))
package_archs = localdata.getVar("PACKAGE_ARCHS", True) or ""
ml_package_archs += " " + package_archs
#bb.note("ML_PACKAGE_ARCHS %s %s %s" % (eext[1], localdata.getVar("PACKAGE_ARCHS", True) or "(none)", overrides))
bb.data.setVar('MULTILIB_PACKAGE_ARCHS', ml_package_archs, d)
}