Revert "fix: update Repo.init to the latest pacman release"

This reverts commit 99ca0cb2fd.
This commit is contained in:
Evgenii Alekseev 2024-09-20 01:42:46 +03:00
parent 5316427371
commit fbbb80d091
2 changed files with 7 additions and 27 deletions

View File

@ -66,7 +66,7 @@ class Repo(LazyLogging):
path(Path): path to archive to add path(Path): path to archive to add
""" """
check_output( check_output(
"repo-add", *self.sign_args, "--remove", str(self.repo_path), str(path), "repo-add", *self.sign_args, "-R", str(self.repo_path), str(path),
exception=BuildError.from_process(path.name), exception=BuildError.from_process(path.name),
cwd=self.paths.repository, cwd=self.paths.repository,
logger=self.logger, logger=self.logger,
@ -76,13 +76,8 @@ class Repo(LazyLogging):
""" """
create empty repository database. It just calls add with empty arguments create empty repository database. It just calls add with empty arguments
""" """
# since pacman-6.1.0 repo-add doesn't create empty database in case if no packages supplied check_output("repo-add", *self.sign_args, str(self.repo_path),
# this code creates empty files instead cwd=self.paths.repository, logger=self.logger, user=self.uid)
if self.repo_path.exists():
return # database is already created, skip this part
self.repo_path.touch(exist_ok=True)
(self.paths.repository / f"{self.name}.db").symlink_to(self.repo_path)
def remove(self, package: str, filename: Path) -> None: def remove(self, package: str, filename: Path) -> None:
""" """

View File

@ -26,28 +26,13 @@ def test_repo_add(repo: Repo, mocker: MockerFixture) -> None:
def test_repo_init(repo: Repo, mocker: MockerFixture) -> None: def test_repo_init(repo: Repo, mocker: MockerFixture) -> None:
""" """
must create empty database files must call repo-add with empty package list on repo initializing
""" """
mocker.patch("pathlib.Path.exists", return_value=False) check_output_mock = mocker.patch("ahriman.core.alpm.repo.check_output")
touch_mock = mocker.patch("pathlib.Path.touch")
symlink_mock = mocker.patch("pathlib.Path.symlink_to")
repo.init() repo.init()
touch_mock.assert_called_once_with(exist_ok=True) check_output_mock.assert_called_once() # it will be checked later
symlink_mock.assert_called_once_with(repo.repo_path) assert check_output_mock.call_args[0][0] == "repo-add"
def test_repo_init_skip(repo: Repo, mocker: MockerFixture) -> None:
"""
must do not create files if database already exists
"""
mocker.patch("pathlib.Path.exists", return_value=True)
touch_mock = mocker.patch("pathlib.Path.touch")
symlink_mock = mocker.patch("pathlib.Path.symlink_to")
repo.init()
touch_mock.assert_not_called()
symlink_mock.assert_not_called()
def test_repo_remove(repo: Repo, mocker: MockerFixture) -> None: def test_repo_remove(repo: Repo, mocker: MockerFixture) -> None: