mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-24 07:17:17 +00:00
fix: bump pkgrel if the local version is newer than remote
In case of VCS packages, if PKGBUILD contains older version, the pkgrel remains the same during the rebuild process. This fix bumps pkgrel in any case if the local version is newer than the remote
This commit is contained in:
parent
9f78e79f1f
commit
740d537618
@ -538,14 +538,10 @@ class Package(LazyLogging):
|
||||
if local_version is None:
|
||||
return None # local version not found, keep upstream pkgrel
|
||||
|
||||
epoch, pkgver, _ = parse_version(self.version)
|
||||
local_epoch, local_pkgver, local_pkgrel = parse_version(local_version)
|
||||
|
||||
if epoch != local_epoch or pkgver != local_pkgver:
|
||||
return None # epoch or pkgver are different, keep upstream pkgrel
|
||||
if vercmp(self.version, local_version) > 0:
|
||||
return None # upstream version is newer than local one, keep upstream pkgrel
|
||||
|
||||
*_, local_pkgrel = parse_version(local_version)
|
||||
if "." in local_pkgrel:
|
||||
major, minor = local_pkgrel.rsplit(".", maxsplit=1)
|
||||
else:
|
||||
|
@ -134,9 +134,10 @@ def test_init_bump_pkgrel_skip(task_ahriman: Task, mocker: MockerFixture) -> Non
|
||||
"""
|
||||
must keep pkgrel if version is different from provided
|
||||
"""
|
||||
task_ahriman.package.version = "2.0.0-1"
|
||||
mocker.patch("ahriman.models.package.Package.from_build", return_value=task_ahriman.package)
|
||||
mocker.patch("ahriman.core.build_tools.sources.Sources.load", return_value="sha")
|
||||
write_mock = mocker.patch("ahriman.models.pkgbuild_patch.PkgbuildPatch.write")
|
||||
|
||||
assert task_ahriman.init(Path("ahriman"), [], f"2:{task_ahriman.package.version}") == "sha"
|
||||
assert task_ahriman.init(Path("ahriman"), [], "1.0.0-1") == "sha"
|
||||
write_mock.assert_not_called()
|
||||
|
@ -474,11 +474,11 @@ def test_next_pkgrel(package_ahriman: Package) -> None:
|
||||
assert package_ahriman.next_pkgrel(package_ahriman.version) == "1.2.2"
|
||||
|
||||
package_ahriman.version = "1:1.0.0-1"
|
||||
assert package_ahriman.next_pkgrel("1:1.0.1-1") is None
|
||||
assert package_ahriman.next_pkgrel("2:1.0.0-1") is None
|
||||
assert package_ahriman.next_pkgrel("1:1.0.1-1") == "1.1"
|
||||
assert package_ahriman.next_pkgrel("2:1.0.0-1") == "1.1"
|
||||
|
||||
package_ahriman.version = "1.0.0-1.1"
|
||||
assert package_ahriman.next_pkgrel("1.0.1-2") is None
|
||||
assert package_ahriman.next_pkgrel("1.0.1-2") == "2.1"
|
||||
assert package_ahriman.next_pkgrel("1.0.0-2") == "2.1"
|
||||
|
||||
package_ahriman.version = "1.0.0-2"
|
||||
|
Loading…
Reference in New Issue
Block a user