mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
package_rpm: Fix Linux 6.1.0 perf 1.0 version mistranslation
With Linux 6.1.0 and perf 1.0-r9, a build which includes perf-dev fails due
to perf-dev depending on perf 6.6.1.0-r9 . This is because translate_vers()
operates on perf-dev and mangles its version. The following scenario occurs:
ver=6.1.0-r9
pv=1.0
pkgv=6.1.0
reppv=6.1.0
With Linux 6.1.0, a corner case is hit where pv is a substring of ver, which
yields this corrupted version 6.6.1.0-r9 . Example in python3:
>>> "6.1.0-r9".replace("1.0", "6.1.0")
'6.6.1.0-r9'
>>> "6.0.13-r9".replace("1.0", "6.0.13")
'6.0.13-r9'
The fix is to only replace pv with reppv in case pv is at the beginning
of ver , instead of replacing all occurences.
(From OE-Core rev: bf2096a43d56c2d633a4b6e3db9e4390da4be6e2)
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
07127e3b6e
commit
728b86575f
@@ -159,7 +159,9 @@ python write_specfile () {
|
||||
pv = subd['PV']
|
||||
pkgv = subd['PKGV']
|
||||
reppv = pkgv.replace('-', '+')
|
||||
ver = ver.replace(pv, reppv).replace(pkgv, reppv)
|
||||
if ver.startswith(pv):
|
||||
ver = ver.replace(pv, reppv)
|
||||
ver = ver.replace(pkgv, reppv)
|
||||
if 'PKGR' in subd:
|
||||
# Make sure PKGR rather than PR in ver
|
||||
pr = '-' + subd['PR']
|
||||
|
||||
Reference in New Issue
Block a user