From 77d67e1026284cb6061e1e3e785b4d30b6b0192c Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Tue, 15 Nov 2016 11:01:44 +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 --- 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