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.

(From OE-Core rev: ea4b8c73a7f807ccd9aa22dfcf41285145a9dd2e)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mark Hatle 2012-12-11 16:05:49 -06:00 committed by Richard Purdie
parent 2173ca2fb1
commit 3fa98d1dd3
1 changed files with 12 additions and 2 deletions

View File

@ -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