package_rpm.bbclass: Replace -linux-gnun32 with -linux.* in RPM platform file
authorLei Liu <layliu@gmail.com>
Thu, 21 Nov 2013 07:30:58 +0000 (01:30 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 22 Nov 2013 14:08:33 +0000 (14:08 +0000)
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 rev: d9489c44ee4f195ae1b09f340b9545cddba58145)

Signed-off-by: Lei Liu <lei.liu2@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/package_rpm.bbclass

index 31265d9..346b7ab 100644 (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