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 () { | |||
113 | bb.fatal("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN', True), feature, ' '.join(list(temp)))) | 113 | bb.fatal("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN', True), feature, ' '.join(list(temp)))) |
114 | 114 | ||
115 | d.setVar('IMAGE_FEATURES', ' '.join(list(remain_features))) | 115 | d.setVar('IMAGE_FEATURES', ' '.join(list(remain_features))) |
116 | |||
117 | # Ensure we have the vendor list for complementary package handling | ||
118 | ml_vendor_list = "" | ||
119 | multilibs = d.getVar('MULTILIBS', True) or "" | ||
120 | for ext in multilibs.split(): | ||
121 | eext = ext.split(':') | ||
122 | if len(eext) > 1 and eext[0] == 'multilib': | ||
123 | localdata = bb.data.createCopy(d) | ||
124 | vendor = localdata.getVar("TARGET_VENDOR_virtclass-multilib-" + eext[1], False) | ||
125 | ml_vendor_list += " " + vendor | ||
126 | d.setVar('MULTILIB_VENDORS', ml_vendor_list) | ||
116 | } | 127 | } |
117 | 128 | ||
118 | python image_handler () { | 129 | python image_handler () { |
@@ -357,7 +368,10 @@ rootfs_install_complementary() { | |||
357 | 368 | ||
358 | if [ "$GLOBS" != "" ] ; then | 369 | if [ "$GLOBS" != "" ] ; then |
359 | # Use the magic script to do all the work for us :) | 370 | # Use the magic script to do all the work for us :) |
360 | oe-pkgdata-util glob ${TMPDIR}/pkgdata ${TARGET_VENDOR}-${TARGET_OS} ${WORKDIR}/installed_pkgs.txt "$GLOBS" > ${WORKDIR}/complementary_pkgs.txt | 371 | : > ${WORKDIR}/complementary_pkgs.txt |
372 | for vendor in ${TARGET_VENDOR} ${MULTILIB_VENDORS} ; do | ||
373 | oe-pkgdata-util glob ${TMPDIR}/pkgdata $vendor-${TARGET_OS} ${WORKDIR}/installed_pkgs.txt "$GLOBS" >> ${WORKDIR}/complementary_pkgs.txt | ||
374 | done | ||
361 | 375 | ||
362 | # Install the packages, if any | 376 | # Install the packages, if any |
363 | sed -i '/^$/d' ${WORKDIR}/complementary_pkgs.txt | 377 | 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() { | |||
99 | if [ "$arch" = "$cmp_arch" -o "$fixed_arch" = "$cmp_arch" ]; then | 99 | if [ "$arch" = "$cmp_arch" -o "$fixed_arch" = "$cmp_arch" ]; then |
100 | if [ "$mlib" = "default" ]; then | 100 | if [ "$mlib" = "default" ]; then |
101 | new_pkg="$pkg" | 101 | new_pkg="$pkg" |
102 | new_arch=$cmp_arch | ||
102 | else | 103 | else |
103 | new_pkg="$mlib-$pkg" | 104 | new_pkg="$mlib-$pkg" |
105 | # We need to strip off the ${mlib}_ prefix on the arch | ||
106 | new_arch=${cmp_arch#${mlib}_} | ||
104 | fi | 107 | fi |
105 | # Workaround for bug 3565 | 108 | # Workaround for bug 3565 |
106 | # Simply look to see if we know of a package with that name, if not try again! | 109 | # 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() { | |||
121 | 124 | ||
122 | #echo "$pkg -> $new_pkg" >&2 | 125 | #echo "$pkg -> $new_pkg" >&2 |
123 | if [ "$arg1" = "arch" ]; then | 126 | if [ "$arg1" = "arch" ]; then |
124 | echo $new_pkg $cmp_arch $other | 127 | echo $new_pkg $new_arch $other |
125 | else | 128 | else |
126 | echo $new_pkg $other | 129 | echo $new_pkg $other |
127 | fi | 130 | fi |