From 44b3590509d7af2fe5a6c52a8bd2d1d7fb29ef7c Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 18 Jul 2011 15:55:28 -0500 Subject: 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. (From OE-Core rev: 1939a4395997098862912e013a2b13ed2f385f9f) Signed-off-by: Mark Hatle Signed-off-by: Richard Purdie --- meta/classes/rootfs_rpm.bbclass | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'meta/classes/rootfs_rpm.bbclass') 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) + } -- cgit v1.2.3-54-g00ecf