multilib: install MULTILIB_IMAGE_INSTALL

If user set MULTILIB_IMAGE_INSTALL, we need to install those multitlib
packages into the final image.

Also fix the logic in handling multilib prefix. For certain case like a
normal image contains several multilib libraries, the image recipe isn't
extended with MLPREFIX, therefore we need to enumerate the possible
multilib prefixes and compare them with package prefixes.

(From OE-Core rev: a94cc552dc764d3cc83ea638cb08b9a2a8829d2f)

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-09 21:30:08 +08:00
committed by Richard Purdie
parent 719e1edaeb
commit 64ea342b4f
2 changed files with 32 additions and 14 deletions

View File

@@ -58,6 +58,7 @@ fakeroot rootfs_rpm_do_rootfs () {
export INSTALL_PLATFORM_RPM="${TARGET_ARCH}"
export INSTALL_CONFBASE_RPM="${RPMCONF_TARGET_BASE}"
export INSTALL_PACKAGES_NORMAL_RPM="${PACKAGE_INSTALL}"
export INSTALL_PACKAGES_MULTILIB_RPM="${MULTILIB_PACKAGE_INSTALL}"
export INSTALL_PACKAGES_ATTEMPTONLY_RPM="${PACKAGE_INSTALL_ATTEMPTONLY}"
export INSTALL_PACKAGES_LINGUAS_RPM="${LINGUAS_INSTALL}"
export INSTALL_PROVIDENAME_RPM=""
@@ -210,6 +211,7 @@ python () {
bb.data.setVar('RPM_POSTPROCESS_COMMANDS', '', d)
ml_package_archs = ""
ml_prefix_list = ""
multilibs = d.getVar('MULTILIBS', True) or ""
for ext in multilibs.split():
eext = ext.split(':')
@@ -221,6 +223,8 @@ python () {
localdata.setVar("MACHINE_ARCH", eext[1] + "_" + localdata.getVar("MACHINE_ARCH", False))
package_archs = localdata.getVar("PACKAGE_ARCHS", True) or ""
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))
bb.data.setVar('MULTILIB_PACKAGE_ARCHS', ml_package_archs, d)
bb.data.setVar('MULTILIB_PREFIX_LIST', ml_prefix_list, d)
}