From patchwork Wed Feb 20 19:31:11 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: rootfs_rpm.bbclass: Reorder feed priority based on multilib image setting Date: Wed, 20 Feb 2013 19:31:11 -0000 From: Mark Hatle X-Patchwork-Id: 44943 Message-Id: <1361388671-29678-1-git-send-email-mark.hatle@windriver.com> To: Cc: paul.eggleton@linux.intel.com [ YOCTO #3915 ] [ CQID: WIND00404309 ] When doing a multilib image build, such as bitbake lib32-core-image-sato, the system needs to reorder the priority level of the feeds. If it does not reorder the priorities, then 64-bit items can be selected by the automatic dependency resolution in Smart. Signed-off-by: Mark Hatle --- meta/classes/populate_sdk_rpm.bbclass | 11 ++++++++++- meta/classes/rootfs_rpm.bbclass | 13 +++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/meta/classes/populate_sdk_rpm.bbclass b/meta/classes/populate_sdk_rpm.bbclass index 00a3ab4..0595aa7 100644 --- a/meta/classes/populate_sdk_rpm.bbclass +++ b/meta/classes/populate_sdk_rpm.bbclass @@ -55,18 +55,27 @@ populate_sdk_rpm () { mkdir -p ${INSTALL_ROOTFS_RPM}/etc/rpm/ # List must be prefered to least preferred order + default_extra_rpm="" INSTALL_PLATFORM_EXTRA_RPM="" for i in ${MULTILIB_PREFIX_LIST} ; do old_IFS="$IFS" IFS=":" set $i IFS="$old_IFS" + mlib=$1 shift #remove mlib while [ -n "$1" ]; do - INSTALL_PLATFORM_EXTRA_RPM="$INSTALL_PLATFORM_EXTRA_RPM $1" + if [ "$mlib" = "${BBEXTENDVARIANT}" ]; then + default_extra_rpm="$default_extra_rpm $1" + else + INSTALL_PLATFORM_EXTRA_RPM="$INSTALL_PLATFORM_EXTRA_RPM $1" + fi shift done done + if [ -n "$default_extra_rpm" ]; then + INSTALL_PLATFORM_EXTRA_RPM="$default_extra_rpm $INSTALL_PLATFORM_EXTRA_RPM" + fi export INSTALL_PLATFORM_EXTRA_RPM package_install_internal_rpm diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass index 5651243..920380e 100644 --- a/meta/classes/rootfs_rpm.bbclass +++ b/meta/classes/rootfs_rpm.bbclass @@ -62,18 +62,27 @@ fakeroot rootfs_rpm_do_rootfs () { mkdir -p ${INSTALL_ROOTFS_RPM}/etc/rpm/ # List must be prefered to least preferred order + default_extra_rpm="" INSTALL_PLATFORM_EXTRA_RPM="" for i in ${MULTILIB_PREFIX_LIST} ; do old_IFS="$IFS" IFS=":" set $i IFS="$old_IFS" + mlib=$1 shift #remove mlib - while [ -n "$1" ]; do - INSTALL_PLATFORM_EXTRA_RPM="$INSTALL_PLATFORM_EXTRA_RPM $1" + while [ -n "$1" ]; do + if [ "$mlib" = "${BBEXTENDVARIANT}" ]; then + default_extra_rpm="$default_extra_rpm $1" + else + INSTALL_PLATFORM_EXTRA_RPM="$INSTALL_PLATFORM_EXTRA_RPM $1" + fi shift done done + if [ -n "$default_extra_rpm" ]; then + INSTALL_PLATFORM_EXTRA_RPM="$default_extra_rpm $INSTALL_PLATFORM_EXTRA_RPM" + fi export INSTALL_PLATFORM_EXTRA_RPM package_install_internal_rpm