From bd03014c8fd080e04dd0a96a6b4b9211568c1cf1 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 14 Mar 2013 00:15:10 +0000 Subject: 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 --- meta/classes/package_rpm.bbclass | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'meta') diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 3ac379d19a..8aa868d3a2 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) -- cgit v1.2.3