summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2016-11-15 14:31:06 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-11-23 11:02:29 +0000
commit40e92de46489bdab0af48fedc46c0d153355f15c (patch)
tree2653c3724c5f7dc84469548308106a7c8632d075
parent17cd2cb99d3610fd77595ff116b2168188c250cd (diff)
downloadopenembedded-core-contrib-40e92de46489bdab0af48fedc46c0d153355f15c.tar.gz
openembedded-core-contrib-40e92de46489bdab0af48fedc46c0d153355f15c.tar.bz2
openembedded-core-contrib-40e92de46489bdab0af48fedc46c0d153355f15c.zip
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 <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/recipes-devtools/rpm/rpm_5.4.16.bb8
1 files 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