control (8597B)
1 Source: taler-exchange 2 Section: net 3 Priority: optional 4 Maintainer: Christian Grothoff <grothoff@gnu.org> 5 Build-Depends: 6 meson, 7 ninja-build, 8 bash, 9 gcc, 10 debhelper-compat (= 12), 11 gettext, 12 libgnunet-dev (>=0.27.0), 13 libcurl4-gnutls-dev (>=7.35.0) | libcurl4-openssl-dev (>= 7.35.0), 14 libgcrypt20-dev (>=1.8), 15 libgnutls28-dev (>=3.2.12), 16 libjansson-dev (>= 2.13), 17 libltdl-dev (>=2.2), 18 libmicrohttpd-dev (>=0.9.71), 19 libpq-dev (>=15), 20 libsodium-dev (>=1.0.11), 21 libunistring-dev (>=0.9.2), 22 po-debconf, 23 texinfo (>=5.2), 24 zlib1g-dev 25 Standards-Version: 4.5.0 26 Vcs-Git: https://salsa.debian.org/debian/taler-exchange.git 27 Vcs-Browser: https://salsa.debian.org/debian/taler-exchange 28 Homepage: https://taler.net/ 29 30 Package: libtalerexchange 31 Architecture: any 32 Pre-Depends: 33 ${misc:Pre-Depends} 34 Depends: 35 lsb-base, 36 netbase, 37 ${misc:Depends}, 38 ${shlibs:Depends} 39 Description: shared libraries to talk to a GNU Taler exchange 40 GNU Taler is the privacy-preserving digital payment system from the GNU 41 project. This package contains the shared C libraries used by clients 42 and services to interact with a Taler exchange via its REST API, to parse 43 and verify exchange-issued cryptographic objects (denomination keys, 44 signing keys, deposit confirmations, ...) and to handle Taler amounts. 45 . 46 Also included is taler-exchange-config, the command-line tool to read 47 and edit Taler configuration files, along with the base configuration 48 fragments and documentation shared by all Taler exchange components. 49 Every other taler-exchange-* and taler-auditor* package depends on this 50 one. 51 52 Package: taler-terms-generator 53 Architecture: any 54 Pre-Depends: 55 ${misc:Pre-Depends} 56 Depends: 57 libtalerexchange, 58 lsb-base, 59 pandoc, 60 groff, 61 ghostscript, 62 ${misc:Depends} 63 Description: generator for GNU Taler terms of service and privacy policy 64 taler-terms-generator converts a reStructuredText source document into 65 the bundle of HTML, Markdown, plain-text, EPUB and PDF renderings (and 66 multiple languages) that a Taler service expects to find on disk in 67 order to answer the /terms and /pp REST endpoints with the appropriate 68 content negotiation. 69 . 70 It is useful for GNU Taler exchange, merchant and auditor operators who 71 wish to publish or update their legal documents. Pandoc, groff and 72 Ghostscript are pulled in as runtime dependencies to perform the 73 conversions. 74 75 Package: taler-exchange-database 76 Architecture: any 77 Pre-Depends: 78 ${misc:Pre-Depends} 79 Depends: 80 lsb-base, 81 netbase, 82 ${misc:Depends}, 83 ${shlibs:Depends} 84 Description: database initialisation tool for the GNU Taler exchange 85 GNU Taler is the privacy-preserving digital payment system from the GNU 86 project. This package contains taler-exchange-dbinit together with the 87 SQL resource files it loads. The tool creates the schema, indices, 88 customisation hooks and (optionally) the auditor notification triggers 89 used by the exchange and the auditor in their PostgreSQL database, and 90 supports incremental garbage collection and shard-lock recovery after 91 crashes. 92 . 93 Both taler-exchange and taler-auditor depend on this package, as the 94 two services share a database layout and the same setup tooling. A 95 PostgreSQL server (>= 15) is required at runtime. 96 97 Package: taler-exchange 98 Architecture: any 99 Pre-Depends: 100 ${misc:Pre-Depends} 101 Depends: 102 libtalerexchange (= ${binary:Version}), 103 taler-exchange-database (= ${binary:Version}), 104 adduser, 105 lsb-base, 106 netbase, 107 zstd, 108 ucf, 109 ${misc:Depends}, 110 ${shlibs:Depends} 111 Recommends: 112 taler-exchange-offline (= ${binary:Version}), 113 taler-terms-generator, 114 taler-exchange-typst, 115 apache2 | nginx | httpd, 116 robocop, 117 postgresql (>=15.0) 118 Description: GNU Taler payment system - exchange operator daemons 119 GNU Taler is the privacy-preserving digital payment system from the GNU 120 project. The exchange is the central service operated by a payment 121 service provider or bank to issue and redeem digital coins for a given 122 currency; at least one exchange must be operated per currency. 123 . 124 This package ships the daemons required to run an exchange in 125 production: 126 * taler-exchange-httpd, the public REST frontend talked to by wallets 127 and merchant backends; 128 * taler-exchange-secmod-rsa, -cs and -eddsa, the security modules that 129 hold the online signing keys and communicate with the HTTPD over 130 UNIX-domain sockets; 131 * taler-exchange-aggregator, -transfer, -wirewatch and -closer, which 132 drive the interaction with the bank (aggregating deposits, executing 133 outgoing wire transfers, observing incoming transfers, and refunding 134 abandoned reserves); 135 * taler-exchange-expire, -sanctionscheck and the KYC/AML pipeline 136 helpers (taler-exchange-kyc-* converters and triggers). 137 . 138 Running an exchange additionally requires the air-gapped offline-signing 139 tool packaged as taler-exchange-offline (recommended). It is also 140 recommended to run a taler-auditor to check the operation and determine 141 expected balance in the escrow account and profits from fees. 142 143 Package: taler-exchange-offline 144 Architecture: any 145 Pre-Depends: 146 ${misc:Pre-Depends} 147 Depends: 148 libtalerexchange (= ${binary:Version}), 149 adduser, 150 lsb-base, 151 netbase, 152 ${misc:Depends}, 153 ${shlibs:Depends} 154 Description: air-gapped signing tool for the GNU Taler exchange master key 155 A GNU Taler exchange uses a long-term offline master key to sign its 156 online signing keys, denomination keys, fee structure, bank account 157 details, auditor and partner-exchange registrations, AML staff entries 158 and key-revocation messages. The corresponding master public key forms 159 the root of the Taler PKI embedded in consumer wallets and merchant 160 backends, so the private key must be protected with great care. 161 . 162 This package contains taler-exchange-offline, the command-line tool 163 used to set up the master key, download future signing material from a 164 running exchange, inspect and sign it offline, and upload the resulting 165 signatures back to the exchange. It is recommended to install 166 this package on a dedicated machine that is never connected to the 167 Internet; it also must be installed on some online system to 168 download key material from the exchange and to upload signatures and 169 configuration data to the exchange. 170 171 Package: taler-exchange-typst 172 Architecture: any 173 Depends: 174 pdftk 175 Recommends: 176 typst 177 Description: Typst templates for GNU Taler exchange PDF generation 178 This package ships the Typst templates that the GNU Taler 179 exchange uses to render PDF artefacts (such as receipts and reports) 180 from structured data. 181 . 182 The pdftk dependency is required at runtime to assemble the resulting 183 PDFs; the typst compiler itself is recommended but kept optional as 184 distros still often lack a native Typst package and thus operators 185 are likely to supply a locally built or vendored Typst compiler. 186 187 Package: taler-auditor 188 Architecture: any 189 Pre-Depends: 190 ${misc:Pre-Depends} 191 Depends: 192 libtalerexchange (= ${binary:Version}), 193 taler-exchange-database (= ${binary:Version}), 194 adduser, 195 zstd, 196 lsb-base, 197 netbase, 198 ${misc:Depends}, 199 ${shlibs:Depends} 200 Description: GNU Taler payment system - independent auditor 201 GNU Taler is the privacy-preserving digital payment system from the GNU 202 project. An auditor is an independent third party (or the exchange 203 operator themselves) that verifies the correct operation 204 of a Taler exchange: it checks all cryptographic signatures recorded in 205 the exchange's database, recomputes balances, and reconciles the 206 reported state against the bank account, alerting the operator to any 207 inconsistencies and computing expected balance, revenue and risk 208 exposure. 209 . 210 This package provides the taler-auditor incremental audit tool, the 211 long-running taler-auditor-httpd REST service, the taler-auditor-sync 212 helper that maintains a safe replica of the exchange database, and the 213 corresponding helper daemons. The offline-signing tool used 214 by the auditor is also included. 215 216 Package: libtalerexchange-dev 217 Section: libdevel 218 Architecture: any 219 Depends: 220 libtalerexchange (= ${binary:Version}), 221 libgnunet-dev (>=0.27.0), 222 libgcrypt20-dev (>=1.8), 223 libmicrohttpd-dev (>=0.9.71), 224 ${misc:Depends}, 225 ${shlibs:Depends} 226 Description: GNU Taler exchange client libraries - development files 227 This package contains the C header files, static libraries and 228 pkg-config files needed to build software against the GNU Taler 229 exchange client libraries shipped in libtalerexchange. 230 . 231 It also installs taler-fakebank-run, an in-memory implementation of the 232 Taler Wire Gateway API used by the Taler test suite. The fake bank is 233 not suitable for production use: all transaction state is kept in RAM 234 and lost on shutdown.