reprepro.rst (3512B)
1 .. 2 This file is part of GNU TALER. 3 Copyright (C) 2025 Taler Systems SA 4 5 TALER is free software; you can redistribute it and/or modify it under the 6 terms of the GNU Affero General Public License as published by the Free Software 7 Foundation; either version 2.1, or (at your option) any later version. 8 9 TALER is distributed in the hope that it will be useful, but WITHOUT ANY 10 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 11 A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. 12 13 You should have received a copy of the GNU Affero General Public License along with 14 TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> 15 16 @author Christian Grothoff 17 @author Florian Dold 18 19 Reprepro setup 20 ============== 21 22 We use a Debian-style workflow with *testing* and *stable* in the same 23 reprepro setup. This chapter is **not** about the *nightly* distribution. 24 The ``deb.taler.net`` site is pointed to a directory of the 25 ``taler-packaging`` user where under ``www/apt`` we have a subdirectory per 26 supported distribution, right now we have one for Debian and one for Ubuntu. 27 28 Systems should use: 29 30 - `deb https://deb.taler.net/apt/debian trixie main` for stable 31 - `deb https://deb.taler.net/apt/debian trixie-testing main` for testing 32 33 or equivalent for Ubuntu noble. 34 35 36 Distribution file structure 37 --------------------------- 38 39 In ``conf/distributions`` we list the supported distributions, 40 each with a ``testing`` and a ``stable`` suite: 41 42 .. code-block:: 43 :caption: conf/distributions 44 45 Origin: GNU Taler 46 Label: Taler 47 Suite: testing 48 Codename: trixie-testing 49 Architectures: amd64 50 Components: main 51 Description: GNU Taler testing packages for Debian trixie 52 SignWith: your-gpg-key-id 53 54 Origin: GNU Taler 55 Label: Taler 56 Suite: stable 57 Codename: trixie 58 Architectures: amd64 59 Components: main 60 Description: GNU Taler stable packages for Debian trixie 61 SignWith: your-gpg-key-id 62 Pull: trixie-testing-to-stable 63 64 The ``pull`` rule is elaborated in ``conf/pulls``, and it 65 defines how packages move from testing to stable. We basically 66 simply move everything at once (after testing it!): 67 68 .. code-block:: 69 :caption: conf/pulls 70 71 Name: trixie-testing-to-stable 72 From: trixie-testing 73 Components: main 74 Architectures: amd64 75 UDebComponents: 76 FilterFormula: Package (% * ) 77 78 If we in the future wanted to only pull packages that have been in 79 testing for at least 10 days, we could use: 80 81 .. code-block:: 82 83 FilterFormula: Package (% *), Version (% *), $Date (>= now - 10 days) 84 85 86 The ``conf/options`` file used is mainly giving the path: 87 88 .. code-block:: 89 :caption: conf/options 90 91 verbose 92 basedir /home/taler-packaging/www/apt/debian 93 ask-passphrase 94 95 96 taler-pkg 97 --------- 98 99 The ``taler-pkg`` tool from ``taler-deployment.git/packaging/ng`` 100 is used to both build packages (via podman containers) and upload them 101 to ``deb.taler.net``. 102 103 Building packages: 104 105 .. code:: 106 107 $ ./taler-pkg build $TARGET 108 109 where target is of the form ``$VENDOR-$CODENAME``. For example, ``debian-trixie`` or ``ubuntu-noble``. 110 111 Publishing packages: 112 113 .. code:: 114 115 $ ./taler-pkg publish $TARGET 116 117 Publishing packages only publishes them to the ``-testing`` distro. 118 119 Promoting packages: 120 121 .. code:: 122 123 $ ./taler-pkg promote $TARGET --dry 124 $ ./taler-pkg promote $TARGET 125 126 To show which packages are currently available, use: 127 128 129 .. code:: 130 131 $ ./taler-pkg show-published debian-trixie-testing 132 $ ./taler-pkg show-published debian-trixie