]> code.ossystems Code Review - openembedded-core.git/commitdiff
package_rpm: Ensure package dependencies have correct version numbers
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 14 Mar 2013 00:15:10 +0000 (00:15 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 14 Mar 2013 16:37:03 +0000 (16:37 +0000)
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@linuxfoundation.org>
meta/classes/package_rpm.bbclass

index 3ac379d19a178984dbf2228bf399236dd37fa1ad..8aa868d3a2663d9343aa02d6f4582c18ce9a98e1 100644 (file)
@@ -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)