mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-05-05 20:53:50 +00:00
Compare commits
4 Commits
b319e89e41
...
517337144c
Author | SHA1 | Date | |
---|---|---|---|
517337144c | |||
db89ad46b7 | |||
9fc1c53c3d | |||
cd61ab3e5b |
@ -54,7 +54,6 @@ RUN pacman -S --noconfirm --asdeps \
|
|||||||
python-cerberus \
|
python-cerberus \
|
||||||
python-cryptography \
|
python-cryptography \
|
||||||
python-jinja \
|
python-jinja \
|
||||||
python-matplotlib \
|
|
||||||
python-systemd \
|
python-systemd \
|
||||||
rsync \
|
rsync \
|
||||||
&& \
|
&& \
|
||||||
|
@ -52,7 +52,7 @@ class ShellInterpolator(configparser.Interpolation):
|
|||||||
def identifiers() -> Generator[tuple[str | None, str], None, None]:
|
def identifiers() -> Generator[tuple[str | None, str], None, None]:
|
||||||
# extract all found identifiers and parse them
|
# extract all found identifiers and parse them
|
||||||
for identifier in ShellTemplate(value).get_identifiers():
|
for identifier in ShellTemplate(value).get_identifiers():
|
||||||
match identifier.split(":"):
|
match identifier.rsplit(":", maxsplit=1):
|
||||||
case [lookup_option]: # single option from the same section
|
case [lookup_option]: # single option from the same section
|
||||||
yield None, lookup_option
|
yield None, lookup_option
|
||||||
case [lookup_section, lookup_option]: # reference to another section
|
case [lookup_section, lookup_option]: # reference to another section
|
||||||
|
@ -538,14 +538,10 @@ class Package(LazyLogging):
|
|||||||
if local_version is None:
|
if local_version is None:
|
||||||
return None # local version not found, keep upstream pkgrel
|
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:
|
if vercmp(self.version, local_version) > 0:
|
||||||
return None # upstream version is newer than local one, keep upstream pkgrel
|
return None # upstream version is newer than local one, keep upstream pkgrel
|
||||||
|
|
||||||
|
*_, local_pkgrel = parse_version(local_version)
|
||||||
if "." in local_pkgrel:
|
if "." in local_pkgrel:
|
||||||
major, minor = local_pkgrel.rsplit(".", maxsplit=1)
|
major, minor = local_pkgrel.rsplit(".", maxsplit=1)
|
||||||
else:
|
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
|
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.models.package.Package.from_build", return_value=task_ahriman.package)
|
||||||
mocker.patch("ahriman.core.build_tools.sources.Sources.load", return_value="sha")
|
mocker.patch("ahriman.core.build_tools.sources.Sources.load", return_value="sha")
|
||||||
write_mock = mocker.patch("ahriman.models.pkgbuild_patch.PkgbuildPatch.write")
|
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()
|
write_mock.assert_not_called()
|
||||||
|
@ -24,6 +24,9 @@ def _parser() -> dict[str, dict[str, str]]:
|
|||||||
"key3": "${section1:home}",
|
"key3": "${section1:home}",
|
||||||
"key5": "${section1:key4}",
|
"key5": "${section1:key4}",
|
||||||
},
|
},
|
||||||
|
"section4:suffix": {
|
||||||
|
"key6": "value6"
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -45,6 +48,10 @@ def test_extract_variables() -> None:
|
|||||||
|
|
||||||
assert not dict(ShellInterpolator._extract_variables(parser, "${section4:key1}", parser["section1"]))
|
assert not dict(ShellInterpolator._extract_variables(parser, "${section4:key1}", parser["section1"]))
|
||||||
|
|
||||||
|
assert dict(ShellInterpolator._extract_variables(parser, "${section4:suffix:key6}", parser["section1"])) == {
|
||||||
|
"section4:suffix:key6": "value6",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def test_environment() -> None:
|
def test_environment() -> None:
|
||||||
"""
|
"""
|
||||||
|
@ -474,11 +474,11 @@ def test_next_pkgrel(package_ahriman: Package) -> None:
|
|||||||
assert package_ahriman.next_pkgrel(package_ahriman.version) == "1.2.2"
|
assert package_ahriman.next_pkgrel(package_ahriman.version) == "1.2.2"
|
||||||
|
|
||||||
package_ahriman.version = "1:1.0.0-1"
|
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("1:1.0.1-1") == "1.1"
|
||||||
assert package_ahriman.next_pkgrel("2:1.0.0-1") is None
|
assert package_ahriman.next_pkgrel("2:1.0.0-1") == "1.1"
|
||||||
|
|
||||||
package_ahriman.version = "1.0.0-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"
|
assert package_ahriman.next_pkgrel("1.0.0-2") == "2.1"
|
||||||
|
|
||||||
package_ahriman.version = "1.0.0-2"
|
package_ahriman.version = "1.0.0-2"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user