[oe-commits] Mark Hatle : package_rpm: Workaround for 'all' arch multilib package naming

git at git.openembedded.org git at git.openembedded.org
Mon Dec 17 17:26:49 UTC 2012


Module: openembedded-core.git
Branch: master-next
Commit: ea4b8c73a7f807ccd9aa22dfcf41285145a9dd2e
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=ea4b8c73a7f807ccd9aa22dfcf41285145a9dd2e

Author: Mark Hatle <mark.hatle at windriver.com>
Date:   Tue Dec 11 16:05:49 2012 -0600

package_rpm: Workaround for 'all' arch multilib package naming

[YOCTO #3565]

All packages should not be multilib specific, however when the multilib
rules run, they automatically rename the 'all' target recipes.  As such
there is no way to know if an 'all' package should or should not contain
the multilib prefix.  We workaround this issue in the translate function
by checking to see if the runtime-reverse file exists or not.

The workaround should be removed once a proper solution to the architectural
issue is in place.

Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 meta/classes/package_rpm.bbclass |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 6a0bb91..a00b702 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -80,6 +80,7 @@ translate_smart_to_oe() {
 
 	# Dump installed packages
 	while read pkg arch other ; do
+		found=0
 		if [ -z "$pkg" ]; then
 			continue
 		fi
@@ -101,10 +102,19 @@ translate_smart_to_oe() {
 					else
 						new_pkg="$mlib-$pkg"
 					fi
-					break
+					# Workaround for bug 3565
+					# Simply look to see if we know of a package with that name, if not try again!
+					filename=`ls ${TMPDIR}/pkgdata/*/runtime-reverse/$new_pkg 2>/dev/null | head -n 1`
+					if [ -n "$filename" ] ; then
+						found=1
+						break
+					fi
+					# 'real' code
+					# found=1
+					# break
 				fi
 			done
-			if [ "$arch" = "$cmp_arch" -o "$fixed_arch" = "$cmp_arch" ]; then
+			if [ "$found" = "1" ] && [ "$arch" = "$cmp_arch" -o "$fixed_arch" = "$cmp_arch" ]; then
 				break
 			fi
 		done





More information about the Openembedded-commits mailing list