[oe-commits] Richard Purdie : package_rpm: Ensure package dependencies have correct version numbers

git at git.openembedded.org git at git.openembedded.org
Thu Mar 14 16:36:15 UTC 2013


Module: openembedded-core.git
Branch: master
Commit: bd03014c8fd080e04dd0a96a6b4b9211568c1cf1
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=bd03014c8fd080e04dd0a96a6b4b9211568c1cf1

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Thu Mar 14 00:15:10 2013 +0000

package_rpm: Ensure package dependencies have correct version numbers

If a recipe has versioned dependencies on another package within
the same recipe, there are potentially races where the version
remapping may not happen correctly.

This issue triggered with neard in multilib builds since it
uses a "-" character in its PV which is illegal in an rpm version
field. The remapping to "+" was not occuring.

It only triggers in the multilib case since in this case, expansion
of the datastore happens at slightly different points.

The correct fix is to search for PV, not PKGV but substitute the
PV value.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/package_rpm.bbclass |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 3ac379d..8aa868d 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -607,8 +607,9 @@ python write_specfile () {
                     if '-' in ver:
                         subd = oe.packagedata.read_subpkgdata_dict(dep, d)
                         if 'PKGV' in subd:
-                            pv = subd['PKGV']
-                            reppv = pv.replace('-', '+')
+                            pv = subd['PV']
+                            pkgv = subd['PKGV']
+                            reppv = pkgv.replace('-', '+')
                             verlist.append(ver.replace(pv, reppv))
                     else:
                         verlist.append(ver)





More information about the Openembedded-commits mailing list