We found a minor bug in the patch since it was first sent out:

On 7/26/11 5:50 PM, Richard Purdie wrote:
> From: Mark Hatle <mark.ha...@windriver.com>
> 
> This is a first pass at adding multilib support to the RPM package
> and image handling code.
> 
> Signed-off-by: Mark Hatle <mark.ha...@windriver.com>
> ---
>  meta/classes/package_rpm.bbclass |  229 
> ++++++++++++++++++++++++--------------
>  meta/classes/rootfs_rpm.bbclass  |   17 +++-
>  2 files changed, 160 insertions(+), 86 deletions(-)
> 
> diff --git a/meta/classes/package_rpm.bbclass 
> b/meta/classes/package_rpm.bbclass
> index 2cc5742..05f3929 100644
> --- a/meta/classes/package_rpm.bbclass
> +++ b/meta/classes/package_rpm.bbclass
> @@ -21,67 +21,71 @@ RPMCONF_HOST_BASE = "${DEPLOY_DIR_RPM}/solvedb-sdk"
>  # Update the Packages depsolver db in ${DEPLOY_DIR_RPM}
>  #
>  package_update_index_rpm () {
> -     rpmarchs="${PACKAGE_ARCHS}"
> -
>       if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
>               return
>       fi
>  
> -     packagedirs=""
> -     packagedirs_sdk=""
> -     for arch in $rpmarchs ; do
> -             sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
> -             extension="-nativesdk"
> -             if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = 
> "noarch" ]; then
> -                 extension=""
> -             fi
> -             packagedirs="${DEPLOY_DIR_RPM}/$arch $packagedirs"
> -             packagedirs_sdk="${DEPLOY_DIR_RPM}/$sdkarch$extension 
> $packagedirs_sdk"
> +     base_package_archs="${PACKAGE_ARCHS}"
> +     ml_package_archs="${MULTILIB_PACKAGE_ARCHS}"
> +
> +     for archvar in base_package_archs ml_package_archs; do
> +             eval archs=\${${archvar}}
> +             packagedirs=""
> +             packagedirs_sdk=""
> +             for arch in $archs; do
> +                     sdkarch=`echo $arch | sed -e 
> 's/${HOST_ARCH}/${SDK_ARCH}/'`
> +                     extension="-nativesdk"
> +                     if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o 
> "$sdkarch" = "noarch" ]; then
> +                         extension=""
> +                     fi
> +                     packagedirs="${DEPLOY_DIR_RPM}/$arch $packagedirs"
> +                     packagedirs_sdk="${DEPLOY_DIR_RPM}/$sdkarch$extension 
> $packagedirs_sdk"
>  
> -             rm -rf ${DEPLOY_DIR_RPM}/$arch/solvedb
> -             rm -rf ${DEPLOY_DIR_RPM}/$sdkarch$extension/solvedb
> -     done
> +                     rm -rf ${DEPLOY_DIR_RPM}/$arch/solvedb
> +                     rm -rf ${DEPLOY_DIR_RPM}/$sdkarch$extension/solvedb
> +             done
>  
> -     cat /dev/null > ${RPMCONF_TARGET_BASE}.conf
> -     for pkgdir in $packagedirs; do
> -             if [ -e $pkgdir/ ]; then
> -                     echo "Generating solve db for $pkgdir..."
> -                     echo $pkgdir/solvedb >> ${RPMCONF_TARGET_BASE}.conf
> -                     if [ -d $pkgdir/solvedb ]; then
> -                             # We've already processed this and it's a 
> duplicate
> -                             continue
> +             cat /dev/null > ${RPMCONF_TARGET_BASE}-${archvar}.conf
> +             for pkgdir in $packagedirs; do
> +                     if [ -e $pkgdir/ ]; then
> +                             echo "Generating solve db for $pkgdir..."
> +                             echo $pkgdir/solvedb >> 
> ${RPMCONF_TARGET_BASE}-${archvar}.conf
> +                             if [ -d $pkgdir/solvedb ]; then
> +                                     # We've already processed this and it's 
> a duplicate
> +                                     continue
> +                             fi
> +                             mkdir -p $pkgdir/solvedb
> +                             echo "# Dynamically generated solve manifest" 
> >> $pkgdir/solvedb/manifest
> +                             find $pkgdir -maxdepth 1 -type f >> 
> $pkgdir/solvedb/manifest
> +                             ${RPM} -i --replacepkgs --replacefiles 
> --oldpackage \
> +                                     -D "_dbpath $pkgdir/solvedb" --justdb \
> +                                     --noaid --nodeps --noorder --noscripts 
> --notriggers --noparentdirs --nolinktos --stats \
> +                                     --ignoresize --nosignature --nodigest \
> +                                     -D "__dbi_txn create nofsync" \
> +                                     $pkgdir/solvedb/manifest
>                       fi
> -                     mkdir -p $pkgdir/solvedb
> -                     echo "# Dynamically generated solve manifest" >> 
> $pkgdir/solvedb/manifest
> -                     find $pkgdir -maxdepth 1 -type f >> 
> $pkgdir/solvedb/manifest
> -                     ${RPM} -i --replacepkgs --replacefiles --oldpackage \
> -                             -D "_dbpath $pkgdir/solvedb" --justdb \
> -                             --noaid --nodeps --noorder --noscripts 
> --notriggers --noparentdirs --nolinktos --stats \
> -                             --ignoresize --nosignature --nodigest \
> -                             -D "__dbi_txn create nofsync" \
> -                             $pkgdir/solvedb/manifest
> -             fi
> -     done
> +             done
>  
> -     cat /dev/null > ${RPMCONF_HOST_BASE}.conf
> -     for pkgdir in $packagedirs_sdk; do
> -             if [ -e $pkgdir/ ]; then
> -                     echo "Generating solve db for $pkgdir..."
> -                     echo $pkgdir/solvedb >> ${RPMCONF_HOST_BASE}.conf
> -                     if [ -d $pkgdir/solvedb ]; then
> -                             # We've already processed this and it's a 
> duplicate
> -                             continue
> -                     fi      
> -                     mkdir -p $pkgdir/solvedb
> -                     echo "# Dynamically generated solve manifest" >> 
> $pkgdir/solvedb/manifest
> -                     find $pkgdir -maxdepth 1 -type f >> 
> $pkgdir/solvedb/manifest
> -                     ${RPM} -i --replacepkgs --replacefiles --oldpackage \
> -                             -D "_dbpath $pkgdir/solvedb" --justdb \
> -                             --noaid --nodeps --noorder --noscripts 
> --notriggers --noparentdirs --nolinktos --stats \
> -                             --ignoresize --nosignature --nodigest \
> -                             -D "__dbi_txn create nofsync" \
> -                             $pkgdir/solvedb/manifest
> -             fi
> +             cat /dev/null > ${RPMCONF_HOST_BASE}.conf

The above line should be:

cat /dev/null > ${RPMCONF_HOST_BASE}-${archvar}.conf

....

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to