From ea4b8c73a7f807ccd9aa22dfcf41285145a9dd2e Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 11 Dec 2012 16:05:49 -0600 Subject: 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 Signed-off-by: Saul Wold --- meta/classes/package_rpm.bbclass | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'meta') diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 6a0bb91d23..a00b70205c 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 -- cgit 1.2.3-korg