package_rpm: Fix package rename issue in multilib case

do_package task will write information into pkgdata and
do_package_write_rpm will read them out. Take lib32-dates as an example,
one of its RDEPENDS is li32-gtk+, and PKG_lib32-gtk+ = "libgtk-2.0",
these info is stored at:
tmp/pkgdata/x86_64-pokymllib32-linux/runtime/lib32-dates.

Function "mapping_rename_hook" in do_package_write_rpm is to handle
those renamed packages. However before it executes, translate_vers
has stripped the multilib prefix out, making it failed to find PKG_gtk+
value in pkgdata.

This commit moves the strip_multilib out of translate_vers and call it
after "mapping_rename_hook".

[YOCTO #1368]

CC: Mark Hatle <mark.hatle@windriver.com>
(From OE-Core rev: 216a1cfe7973e99e3e79585040e91f7a6e298884)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dongxiao Xu 2011-08-03 22:53:15 +08:00 committed by Richard Purdie
parent c228ffb3f1
commit 4219debe9d
1 changed files with 7 additions and 7 deletions

View File

@ -394,7 +394,7 @@ python write_specfile () {
pv = subd['PKGV']
reppv = pv.replace('-', '+')
ver = ver.replace(pv, reppv)
newdeps_dict[strip_multilib(dep, d)] = ver
newdeps_dict[dep] = ver
depends = bb.utils.join_deps(newdeps_dict)
bb.data.setVar(varname, depends.strip(), d)
@ -516,12 +516,12 @@ python write_specfile () {
# Map the dependencies into their final form
bb.build.exec_func("mapping_rename_hook", localdata)
splitrdepends = bb.data.getVar('RDEPENDS', localdata, True) or ""
splitrrecommends = bb.data.getVar('RRECOMMENDS', localdata, True) or ""
splitrsuggests = bb.data.getVar('RSUGGESTS', localdata, True) or ""
splitrprovides = bb.data.getVar('RPROVIDES', localdata, True) or ""
splitrreplaces = bb.data.getVar('RREPLACES', localdata, True) or ""
splitrconflicts = bb.data.getVar('RCONFLICTS', localdata, True) or ""
splitrdepends = strip_multilib(bb.data.getVar('RDEPENDS', localdata, True), d) or ""
splitrrecommends = strip_multilib(bb.data.getVar('RRECOMMENDS', localdata, True), d) or ""
splitrsuggests = strip_multilib(bb.data.getVar('RSUGGESTS', localdata, True), d) or ""
splitrprovides = strip_multilib(bb.data.getVar('RPROVIDES', localdata, True), d) or ""
splitrreplaces = strip_multilib(bb.data.getVar('RREPLACES', localdata, True), d) or ""
splitrconflicts = strip_multilib(bb.data.getVar('RCONFLICTS', localdata, True), d) or ""
splitrobsoletes = []
# For now we need to manually supplement RPROVIDES with any update-alternatives links