summaryrefslogtreecommitdiffstats
path: root/meta/classes/image.bbclass
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2012-12-14 16:40:33 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-12-19 17:55:00 +0000
commit84a5c63a57d60b1557268389cf333c69dd841fcd (patch)
tree110360d6d2046e9bf1734f883c7d34b1eb75e7ad /meta/classes/image.bbclass
parentcaaabe651023e2bb9eb5c0501ee3a76275b4aee2 (diff)
downloadpoky-84a5c63a57d60b1557268389cf333c69dd841fcd.tar.gz
classes/image: handle multilibs in complementary package lookup
For multilib the vendor string is altered, so we need to iterate over all of the multilib vendors when we do the glob processing for complementary packages. (From OE-Core rev: ff01518c6667e1b6e87df4e5a435a701d0f38fa7) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> In addition, the RPM package arch have been munged by adding the multilib identifier. This identifier needs to be stripped when generating the installed_packages list for the complementary lookup code to work. 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>
Diffstat (limited to 'meta/classes/image.bbclass')
-rw-r--r--meta/classes/image.bbclass16
1 files changed, 15 insertions, 1 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
118python image_handler () { 129python 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