From 40e92de46489bdab0af48fedc46c0d153355f15c Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Tue, 15 Nov 2016 14:31:06 +0800 Subject: rpm: fix multilib macro installation For now, the rpm macro for multilib is not installed correctly. For example, in x86-64 lib32 situation, the macro is installed under tmp/work/x86-pokymllib32-linux/rpm/5.4.16-r0/image/usr/lib/rpm/poky/i686-linux/. The directory is even not under WORKDIR. And it will of course not be packaged. We need to save necessary values before updating the localdata and restore them so that the macros could be installed into the correct directory. Signed-off-by: Chen Qi Signed-off-by: Ross Burton --- meta/recipes-devtools/rpm/rpm_5.4.16.bb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/rpm/rpm_5.4.16.bb b/meta/recipes-devtools/rpm/rpm_5.4.16.bb index 85eb5fef1e..182818ee09 100644 --- a/meta/recipes-devtools/rpm/rpm_5.4.16.bb +++ b/meta/recipes-devtools/rpm/rpm_5.4.16.bb @@ -626,8 +626,9 @@ def multilib_rpmmacros(d): localdata.delVar('TOOLCHAIN_OPTIONS') # Set 'localdata' values to be consistent with 'd' values. - localdata.setVar('distromacrodir', d.getVar('distromacrodir', True)) - localdata.setVar('WORKDIR', d.getVar('WORKDIR', True)) + distromacrodirVal = d.getVar('distromacrodir', True) + workdirVal = d.getVar('WORKDIR', True) + dval = d.getVar('D', True) ret = gen_arch_macro(localdata) @@ -639,6 +640,9 @@ def multilib_rpmmacros(d): localdata.setVar("OVERRIDES", overrides) localdata.setVar("MLPREFIX", item + "-") bb.data.update_data(localdata) + localdata.setVar('WORKDIR', workdirVal) + localdata.setVar('distromacrodir', distromacrodirVal) + localdata.setVar('D', dval) ret += gen_arch_macro(localdata) return ret -- cgit 1.2.3-korg