]> code.ossystems Code Review - openembedded-core.git/commitdiff
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 13:43:59 +0000 (13:43 +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.

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 31265d960a3113006578585374810677bf2c029e..346b7abd53f4f5c0f1d078840018c27834d91b5b 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