summaryrefslogtreecommitdiffstats
path: root/meta/classes/package_rpm.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-14 00:15:10 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-14 16:37:09 +0000
commit7803f5f98cf4d12d59ac793d9eb0048b701cafb7 (patch)
tree951428a14a8173aebdf5436e86ad1d059d465168 /meta/classes/package_rpm.bbclass
parent05f231d7fea4c45362e7deb130e70a5458b3f15c (diff)
downloadpoky-7803f5f98cf4d12d59ac793d9eb0048b701cafb7.tar.gz
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. (From OE-Core rev: bd03014c8fd080e04dd0a96a6b4b9211568c1cf1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/package_rpm.bbclass')
-rw-r--r--meta/classes/package_rpm.bbclass5
1 files changed, 3 insertions, 2 deletions
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 () {
607 if '-' in ver: 607 if '-' in ver:
608 subd = oe.packagedata.read_subpkgdata_dict(dep, d) 608 subd = oe.packagedata.read_subpkgdata_dict(dep, d)
609 if 'PKGV' in subd: 609 if 'PKGV' in subd:
610 pv = subd['PKGV'] 610 pv = subd['PV']
611 reppv = pv.replace('-', '+') 611 pkgv = subd['PKGV']
612 reppv = pkgv.replace('-', '+')
612 verlist.append(ver.replace(pv, reppv)) 613 verlist.append(ver.replace(pv, reppv))
613 else: 614 else:
614 verlist.append(ver) 615 verlist.append(ver)