summaryrefslogtreecommitdiffstats
path: root/meta/classes/rootfs_rpm.bbclass
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2011-07-18 15:55:28 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-27 16:25:09 +0100
commit1939a4395997098862912e013a2b13ed2f385f9f (patch)
treec4d770d97f8ca7a5290e4c3fda76b06508fd17d5 /meta/classes/rootfs_rpm.bbclass
parent22a42df1843c8a95cf3be214a413d660adaadb32 (diff)
downloadopenembedded-core-contrib-1939a4395997098862912e013a2b13ed2f385f9f.tar.gz
package/rootfs_rpm: Implement RPM multilib package handling
This is a first pass at adding multilib support to the RPM package and image handling code. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Diffstat (limited to 'meta/classes/rootfs_rpm.bbclass')
-rw-r--r--meta/classes/rootfs_rpm.bbclass17
1 files changed, 16 insertions, 1 deletions
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index b554bae34e..04c0483a2d 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -93,7 +93,7 @@ EOF
# List must be prefered to least preferred order
INSTALL_PLATFORM_EXTRA_RPM=""
- for each_arch in ${PACKAGE_ARCHS} ; do
+ for each_arch in ${MULTILIB_PACKAGE_ARCHS} ${PACKAGE_ARCHS}; do
INSTALL_PLATFORM_EXTRA_RPM="$each_arch $INSTALL_PLATFORM_EXTRA_RPM"
done
export INSTALL_PLATFORM_RPM
@@ -207,4 +207,19 @@ python () {
bb.data.setVarFlag('do_rootfs', 'recrdeptask', flags, d)
bb.data.setVar('RPM_PREPROCESS_COMMANDS', '', d)
bb.data.setVar('RPM_POSTPROCESS_COMMANDS', '', d)
+
+ ml_package_archs = ""
+ 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)
+ overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + eext[1]
+ localdata.setVar("OVERRIDES", overrides)
+ # TEMP: OVERRIDES isn't working right
+ localdata.setVar("TUNENAME", localdata.getVar("TUNENAME_virtclass-multilib-" + eext[1], False) or "")
+ ml_package_archs += localdata.getVar("PACKAGE_ARCHS", True) or ""
+ bb.note("ML_PACKAGE_ARCHS %s %s %s" % (eext[1], localdata.getVar("PACKAGE_ARCHS", True) or "(none)", overrides))
+ bb.data.setVar('MULTILIB_PACKAGE_ARCHS', ml_package_archs, d)
+
}