From 664b6369bb8b20caddb4d88050467496bc4c6051 Mon Sep 17 00:00:00 2001 From: Evgeniy Alekseev Date: Sat, 17 Sep 2022 04:04:28 +0300 Subject: [PATCH] skip architecture list patching in case if any architecture is set --- src/ahriman/core/build_tools/sources.py | 2 ++ tests/ahriman/core/build_tools/test_sources.py | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ahriman/core/build_tools/sources.py b/src/ahriman/core/build_tools/sources.py index 5672c077..e7102eab 100644 --- a/src/ahriman/core/build_tools/sources.py +++ b/src/ahriman/core/build_tools/sources.py @@ -57,6 +57,8 @@ class Sources(LazyLogging): return architectures = Package.supported_architectures(sources_dir) + if "any" in architectures: # makepkg does not like when there is any other arch except for any + return architectures.add(architecture) patch = PkgbuildPatch("arch", list(architectures)) patch.write(pkgbuild_path) diff --git a/tests/ahriman/core/build_tools/test_sources.py b/tests/ahriman/core/build_tools/test_sources.py index c71b0dfa..b9305150 100644 --- a/tests/ahriman/core/build_tools/test_sources.py +++ b/tests/ahriman/core/build_tools/test_sources.py @@ -23,6 +23,18 @@ def test_extend_architectures(mocker: MockerFixture) -> None: write_mock.assert_called_once_with(Path("local") / "PKGBUILD") +def test_extend_architectures_any(mocker: MockerFixture) -> None: + """ + must skip architecture patching in case if there is any architecture + """ + mocker.patch("pathlib.Path.is_file", return_value=True) + mocker.patch("ahriman.models.package.Package.supported_architectures", return_value={"any"}) + write_mock = mocker.patch("ahriman.models.pkgbuild_patch.PkgbuildPatch.write") + + Sources.extend_architectures(Path("local"), "i686") + write_mock.assert_not_called() + + def test_extend_architectures_skip(mocker: MockerFixture) -> None: """ must skip extending list of the architectures in case if no PKGBUILD file found