diff options
-rw-r--r-- | meta/classes/image.bbclass | 16 | ||||
-rw-r--r-- | meta/classes/package_rpm.bbclass | 5 |
2 files changed, 19 insertions, 2 deletions
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 1461144949..8bf718a64b 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -113,6 +113,17 @@ python () { bb.fatal("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN', True), feature, ' '.join(list(temp)))) d.setVar('IMAGE_FEATURES', ' '.join(list(remain_features))) + + # Ensure we have the vendor list for complementary package handling + ml_vendor_list = "" + multilibs = d.getVar('MULTILIBS', True) or "" + for ext in multilibs.split(): + eext = ext.split(':') + if len(eext) > 1 and eext[0] == 'multilib': + localdata = bb.data.createCopy(d) + vendor = localdata.getVar("TARGET_VENDOR_virtclass-multilib-" + eext[1], False) + ml_vendor_list += " " + vendor + d.setVar('MULTILIB_VENDORS', ml_vendor_list) } python image_handler () { @@ -357,7 +368,10 @@ rootfs_install_complementary() { if [ "$GLOBS" != "" ] ; then # Use the magic script to do all the work for us :) - oe-pkgdata-util glob ${TMPDIR}/pkgdata ${TARGET_VENDOR}-${TARGET_OS} ${WORKDIR}/installed_pkgs.txt "$GLOBS" > ${WORKDIR}/complementary_pkgs.txt + : > ${WORKDIR}/complementary_pkgs.txt + for vendor in ${TARGET_VENDOR} ${MULTILIB_VENDORS} ; do + oe-pkgdata-util glob ${TMPDIR}/pkgdata $vendor-${TARGET_OS} ${WORKDIR}/installed_pkgs.txt "$GLOBS" >> ${WORKDIR}/complementary_pkgs.txt + done # Install the packages, if any sed -i '/^$/d' ${WORKDIR}/complementary_pkgs.txt diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index a00b70205c..05108b26f1 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -99,8 +99,11 @@ translate_smart_to_oe() { if [ "$arch" = "$cmp_arch" -o "$fixed_arch" = "$cmp_arch" ]; then if [ "$mlib" = "default" ]; then new_pkg="$pkg" + new_arch=$cmp_arch else new_pkg="$mlib-$pkg" + # We need to strip off the ${mlib}_ prefix on the arch + new_arch=${cmp_arch#${mlib}_} fi # Workaround for bug 3565 # Simply look to see if we know of a package with that name, if not try again! @@ -121,7 +124,7 @@ translate_smart_to_oe() { #echo "$pkg -> $new_pkg" >&2 if [ "$arg1" = "arch" ]; then - echo $new_pkg $cmp_arch $other + echo $new_pkg $new_arch $other else echo $new_pkg $other fi |