package_rpm.bbclass: Replace -linux-gnun32 with -linux.* in RPM platform file

On a multilib system when one of the multibs has a different OS then
other multilibs a failure can occur during the install process because
RPM assumes all systems have the same OS.

When an n32 platform is selected as an alternative multilib, it shows
up as mips64_n32-.*-linux-gnun32 in /etc/rpm/platform.  This causes
problems when the smart tool tries to add a channel for the multilib.
RPM archScore call always returns zero for arch "mips64_n32" -
after appending default vendor and os, it finds "mips64_n32-wrs-linux"
doesn't match any predefined platforms.  Fix this by removing the
restriction of -gnun32 suffix in platform file.

(From OE-Core master rev: d9489c44ee4f195ae1b09f340b9545cddba58145)

(From OE-Core rev: f0118b605b3727b5ca5d560094bb4dd2ff29c310)

Signed-off-by: Lei Liu <lei.liu2@windriver.com>
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Lei Liu 2013-11-21 01:30:58 -06:00 committed by Richard Purdie
parent d42a2c3813
commit 25e21e3dca
1 changed files with 1 additions and 5 deletions

View File

@ -296,11 +296,7 @@ package_install_internal_rpm () {
if [ ! -z "$INSTALL_PLATFORM_EXTRA_RPM" ]; then
for pt in $INSTALL_PLATFORM_EXTRA_RPM ; do
channel_priority=$(expr $channel_priority + 5)
case $pt in
noarch-* | any-* | all-*)
pt=$(echo $pt | sed "s,-linux.*$,-linux\.*,")
;;
esac
pt=$(echo $pt | sed "s,-linux.*$,-linux\.*,")
echo "$pt" >> ${target_rootfs}/etc/rpm/platform
done
fi