taler-deployment

Deployment scripts and configuration files
Log | Files | Refs | README

commit 667586cde21c7dd52bd77ff589d4adab130d823b
parent 8a85cbe743ac4f8bbbb2aa7e3d23152094b3e73d
Author: Florian Dold <dold@taler.net>
Date:   Fri,  4 Sep 2026 18:14:32 +0200

packaging/ng: retain packages for all architectures

Diffstat:
Mpackaging/ng/buildscripts/buildlib.py | 6+++++-
Mpackaging/ng/testing/test_buildlib.py | 17+++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/packaging/ng/buildscripts/buildlib.py b/packaging/ng/buildscripts/buildlib.py @@ -71,7 +71,11 @@ def make_codename_version(deb_version, build_codename): def scan_local_repository(): os.chdir(PKGDIR) packages_index = PKGDIR / "Packages.xz" - run_cmd(f"dpkg-scanpackages . | xz - > {packages_index}", shell=True) + # Package versions can be identical across architectures. Keep every + # variant so one architecture does not disappear from the APT index. + run_cmd( + f"dpkg-scanpackages --multiversion . | xz - > {packages_index}", shell=True + ) with open("/etc/apt/sources.list.d/taler-packaging-local.list", "w") as source: source.write(f"deb [trusted=yes] file:{PKGDIR} ./\n") run_cmd(["apt-get", "update"]) diff --git a/packaging/ng/testing/test_buildlib.py b/packaging/ng/testing/test_buildlib.py @@ -17,6 +17,23 @@ from package_config import ConfigError, parse_config # noqa: E402 class BuildLibraryTests(unittest.TestCase): + def test_local_repository_keeps_packages_for_all_architectures(self): + with tempfile.TemporaryDirectory() as temporary_directory: + package_directory = Path(temporary_directory) + + with ( + patch.object(buildlib, "PKGDIR", package_directory), + patch.object(buildlib.os, "chdir"), + patch.object(buildlib, "run_cmd") as run_cmd, + patch("builtins.open", unittest.mock.mock_open()), + ): + buildlib.scan_local_repository() + + scan, update = run_cmd.call_args_list + self.assertIn("dpkg-scanpackages --multiversion", scan.args[0]) + self.assertTrue(scan.kwargs["shell"]) + self.assertEqual(["apt-get", "update"], update.args[0]) + def test_pnpm_workspace_is_installed_and_built_once(self): with tempfile.TemporaryDirectory() as temporary_directory: root = Path(temporary_directory)