commit 56504f70cbeba7ee64d28a4fb0e2cb48f0e35b70
parent fd18916ab818536bfe682a330406da5db257145f
Author: Florian Dold <florian@dold.me>
Date: Tue, 8 Sep 2026 15:00:59 +0200
reprepro -> aptly
Diffstat:
3 files changed, 77 insertions(+), 133 deletions(-)
diff --git a/system-administration/debian-repos.rst b/system-administration/debian-repos.rst
@@ -0,0 +1,76 @@
+..
+ This file is part of GNU TALER.
+ Copyright (C) 2025 Taler Systems SA
+
+ TALER is free software; you can redistribute it and/or modify it under the
+ terms of the GNU Affero General Public License as published by the Free Software
+ Foundation; either version 3.0, or (at your option) any later version.
+
+ TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with
+ TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+
+ @author Christian Grothoff
+ @author Florian Dold
+
+Debian Repositories
+===================
+
+We use a Debian-style workflow with *testing* and *stable* in the same
+reprepro setup. This chapter is **not** about the *nightly* distribution.
+The ``deb.taler.net`` site is pointed to a directory of the
+``taler-packaging`` user where under ``www/apt`` we have a subdirectory per
+supported distribution, right now we have one for Debian and one for Ubuntu.
+
+Systems should use:
+
+ - ``deb https://deb.taler.net/apt/debian trixie main`` for stable
+ - ``deb https://deb.taler.net/apt/debian trixie-testing main`` for testing
+
+or equivalent for Ubuntu noble.
+
+The repositories are now hosted via aptly. In the past, they were hosted via
+reprepro. We switched to aptly, since it has better support for multiple
+versions of the same package and is generally easier to configure and use.
+
+
+taler-pkg
+---------
+
+The ``taler-pkg`` tool from ``taler-deployment.git/packaging/ng``
+is used to both build packages (via podman containers) and upload them
+to ``deb.taler.net``.
+
+Building packages:
+
+.. code::
+
+ $ ./taler-pkg build $TARGET
+
+where target is of the form ``$VENDOR-$CODENAME``. For example, ``debian-trixie`` or ``ubuntu-noble``.
+
+Publishing packages:
+
+.. code::
+
+ $ ./taler-pkg publish $TARGET
+
+Publishing packages only publishes them to the ``-testing`` distro.
+
+Promoting packages:
+
+.. code::
+
+ $ ./taler-pkg promote $TARGET --dry
+ $ ./taler-pkg promote $TARGET
+
+To show which packages are currently available, use:
+
+
+.. code::
+
+ $ ./taler-pkg show-published debian-trixie-testing
+ $ ./taler-pkg show-published debian-trixie
diff --git a/system-administration/index.rst b/system-administration/index.rst
@@ -35,4 +35,4 @@ Internal System Administration
grafana-loki
grafana-promtail
grafana-backup
- reprepro
+ debian-repos
diff --git a/system-administration/reprepro.rst b/system-administration/reprepro.rst
@@ -1,132 +0,0 @@
-..
- This file is part of GNU TALER.
- Copyright (C) 2025 Taler Systems SA
-
- TALER is free software; you can redistribute it and/or modify it under the
- terms of the GNU Affero General Public License as published by the Free Software
- Foundation; either version 3.0, or (at your option) any later version.
-
- TALER is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License along with
- TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
-
- @author Christian Grothoff
- @author Florian Dold
-
-Reprepro setup
-==============
-
-We use a Debian-style workflow with *testing* and *stable* in the same
-reprepro setup. This chapter is **not** about the *nightly* distribution.
-The ``deb.taler.net`` site is pointed to a directory of the
-``taler-packaging`` user where under ``www/apt`` we have a subdirectory per
-supported distribution, right now we have one for Debian and one for Ubuntu.
-
-Systems should use:
-
- - ``deb https://deb.taler.net/apt/debian trixie main`` for stable
- - ``deb https://deb.taler.net/apt/debian trixie-testing main`` for testing
-
-or equivalent for Ubuntu noble.
-
-
-Distribution file structure
----------------------------
-
-In ``conf/distributions`` we list the supported distributions,
-each with a ``testing`` and a ``stable`` suite:
-
-.. code-block::
- :caption: conf/distributions
-
- Origin: GNU Taler
- Label: Taler
- Suite: testing
- Codename: trixie-testing
- Architectures: amd64
- Components: main
- Description: GNU Taler testing packages for Debian trixie
- SignWith: your-gpg-key-id
-
- Origin: GNU Taler
- Label: Taler
- Suite: stable
- Codename: trixie
- Architectures: amd64
- Components: main
- Description: GNU Taler stable packages for Debian trixie
- SignWith: your-gpg-key-id
- Pull: trixie-testing-to-stable
-
-The ``pull`` rule is elaborated in ``conf/pulls``, and it
-defines how packages move from testing to stable. We basically
-simply move everything at once (after testing it!):
-
-.. code-block::
- :caption: conf/pulls
-
- Name: trixie-testing-to-stable
- From: trixie-testing
- Components: main
- Architectures: amd64
- UDebComponents:
- FilterFormula: Package (% * )
-
-If we in the future wanted to only pull packages that have been in
-testing for at least 10 days, we could use:
-
-.. code-block::
-
- FilterFormula: Package (% *), Version (% *), $Date (>= now - 10 days)
-
-
-The ``conf/options`` file used is mainly giving the path:
-
-.. code-block::
- :caption: conf/options
-
- verbose
- basedir /home/taler-packaging/www/apt/debian
- ask-passphrase
-
-
-taler-pkg
----------
-
-The ``taler-pkg`` tool from ``taler-deployment.git/packaging/ng``
-is used to both build packages (via podman containers) and upload them
-to ``deb.taler.net``.
-
-Building packages:
-
-.. code::
-
- $ ./taler-pkg build $TARGET
-
-where target is of the form ``$VENDOR-$CODENAME``. For example, ``debian-trixie`` or ``ubuntu-noble``.
-
-Publishing packages:
-
-.. code::
-
- $ ./taler-pkg publish $TARGET
-
-Publishing packages only publishes them to the ``-testing`` distro.
-
-Promoting packages:
-
-.. code::
-
- $ ./taler-pkg promote $TARGET --dry
- $ ./taler-pkg promote $TARGET
-
-To show which packages are currently available, use:
-
-
-.. code::
-
- $ ./taler-pkg show-published debian-trixie-testing
- $ ./taler-pkg show-published debian-trixie