Patchwork package_rpm.bbclass: Fix translate_smart_to_oe arch comparison

login
register
mail settings
Submitter Mark Hatle
Date March 2, 2013, 1:14 a.m.
Message ID <1362186897-9653-1-git-send-email-mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/45403/
State Accepted
Commit caf798da9502c1c4967d13a4450fe02b1e7b4850
Headers show

Comments

Mark Hatle - March 2, 2013, 1:14 a.m.
When the OE arch is of the format "foo_bar-foobar" the previous
comparison routine did not selectively translate the '-' causing
a failed comparison.

In order to work around this issue, we -always- compare the
RPM translated version of the package architectures.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/classes/package_rpm.bbclass |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

Patch

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index c0ba54d..697bb36 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -93,7 +93,8 @@  translate_smart_to_oe() {
 			while [ -n "$1" ]; do
 				cmp_arch=$1
 				shift
-				if [ "$arch" = "$cmp_arch" -o "$fixed_arch" = "$cmp_arch" ]; then
+				fixed_cmp_arch=`echo "$cmp_arch" | tr _ -`
+				if [ "$fixed_arch" = "$fixed_cmp_arch" ]; then
 					if [ "$mlib" = "default" ]; then
 						new_pkg="$pkg"
 						new_arch=$cmp_arch
@@ -114,7 +115,7 @@  translate_smart_to_oe() {
 					# break
 				fi
 			done
-			if [ "$found" = "1" ] && [ "$arch" = "$cmp_arch" -o "$fixed_arch" = "$cmp_arch" ]; then
+			if [ "$found" = "1" ] && [ "$fixed_arch" = "$fixed_cmp_arch" ]; then
 				break
 			fi
 		done