[OE-core] [master][dora][PATCH] package_rpm.bbclass: Replace -linux-gnun32 with -linux.* in RPM platform file

Mark Hatle mark.hatle at windriver.com
Thu Nov 21 07:30:58 UTC 2013


From: Lei Liu <layliu at gmail.com>

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 at windriver.com>
Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
Signed-off-by: Jeff Polk <jeff.polk at windriver.com>
---
 meta/classes/package_rpm.bbclass | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 75ee264..63b1b21 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -367,11 +367,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
-- 
1.8.1.2.545.g2f19ada




More information about the Openembedded-core mailing list