All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] package_rpm: Ensure package dependencies have correct version numbers
@ 2013-03-14  0:15 Richard Purdie
  0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2013-03-14  0:15 UTC (permalink / raw)
  To: openembedded-core

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>
---
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)





^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2013-03-14  0:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-14  0:15 [PATCH] package_rpm: Ensure package dependencies have correct version numbers Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.