]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
package_rpm: Fix package rename issue in multilib case
authorDongxiao Xu <dongxiao.xu@intel.com>
Wed, 3 Aug 2011 14:53:15 +0000 (22:53 +0800)
committerSaul Wold <sgw@linux.intel.com>
Wed, 17 Aug 2011 05:53:55 +0000 (22:53 -0700)
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>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
meta/classes/package_rpm.bbclass

index 7a0c6daae1125b96b0597e4d66f68ad7818dcce7..9ef1acd475ba599f9e01db27fb3ba08c8773e0c4 100644 (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