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:
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)