control (8669B)
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.28.1~dev4), 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 (>=1.0.1), 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 ucf, 108 ${misc:Depends}, 109 ${shlibs:Depends} 110 Recommends: 111 taler-exchange-offline (= ${binary:Version}), 112 taler-terms-generator, 113 taler-exchange-typst, 114 taler-exchange-aml-webui, 115 taler-exchange-kyc-webui, 116 apache2 | nginx | httpd, 117 robocop, 118 postgresql (>=15.0) 119 Description: GNU Taler payment system - exchange operator daemons 120 GNU Taler is the privacy-preserving digital payment system from the GNU 121 project. The exchange is the central service operated by a payment 122 service provider or bank to issue and redeem digital coins for a given 123 currency; at least one exchange must be operated per currency. 124 . 125 This package ships the daemons required to run an exchange in 126 production: 127 * taler-exchange-httpd, the public REST frontend talked to by wallets 128 and merchant backends; 129 * taler-exchange-secmod-rsa, -cs and -eddsa, the security modules that 130 hold the online signing keys and communicate with the HTTPD over 131 UNIX-domain sockets; 132 * taler-exchange-aggregator, -transfer, -wirewatch and -closer, which 133 drive the interaction with the bank (aggregating deposits, executing 134 outgoing wire transfers, observing incoming transfers, and refunding 135 abandoned reserves); 136 * taler-exchange-expire, -sanctionscheck and the KYC/AML pipeline 137 helpers (taler-exchange-kyc-* converters and triggers). 138 . 139 Running an exchange additionally requires the air-gapped offline-signing 140 tool packaged as taler-exchange-offline (recommended). It is also 141 recommended to run a taler-auditor to check the operation and determine 142 expected balance in the escrow account and profits from fees. 143 144 Package: taler-exchange-offline 145 Architecture: any 146 Pre-Depends: 147 ${misc:Pre-Depends} 148 Depends: 149 libtalerexchange (= ${binary:Version}), 150 adduser, 151 lsb-base, 152 netbase, 153 ${misc:Depends}, 154 ${shlibs:Depends} 155 Description: air-gapped signing tool for the GNU Taler exchange master key 156 A GNU Taler exchange uses a long-term offline master key to sign its 157 online signing keys, denomination keys, fee structure, bank account 158 details, auditor and partner-exchange registrations, AML staff entries 159 and key-revocation messages. The corresponding master public key forms 160 the root of the Taler PKI embedded in consumer wallets and merchant 161 backends, so the private key must be protected with great care. 162 . 163 This package contains taler-exchange-offline, the command-line tool 164 used to set up the master key, download future signing material from a 165 running exchange, inspect and sign it offline, and upload the resulting 166 signatures back to the exchange. It is recommended to install 167 this package on a dedicated machine that is never connected to the 168 Internet; it also must be installed on some online system to 169 download key material from the exchange and to upload signatures and 170 configuration data to the exchange. 171 172 Package: taler-exchange-typst 173 Architecture: any 174 Depends: 175 pdftk 176 Recommends: 177 typst 178 Description: Typst templates for GNU Taler exchange PDF generation 179 This package ships the Typst templates that the GNU Taler 180 exchange uses to render PDF artefacts (such as receipts and reports) 181 from structured data. 182 . 183 The pdftk dependency is required at runtime to assemble the resulting 184 PDFs; the typst compiler itself is recommended but kept optional as 185 distros still often lack a native Typst package and thus operators 186 are likely to supply a locally built or vendored Typst compiler. 187 188 Package: taler-auditor 189 Architecture: any 190 Pre-Depends: 191 ${misc:Pre-Depends} 192 Depends: 193 libtalerexchange (= ${binary:Version}), 194 taler-exchange-database (= ${binary:Version}), 195 taler-auditor-webui, 196 adduser, 197 lsb-base, 198 netbase, 199 ${misc:Depends}, 200 ${shlibs:Depends} 201 Description: GNU Taler payment system - independent auditor 202 GNU Taler is the privacy-preserving digital payment system from the GNU 203 project. An auditor is an independent third party (or the exchange 204 operator themselves) that verifies the correct operation 205 of a Taler exchange: it checks all cryptographic signatures recorded in 206 the exchange's database, recomputes balances, and reconciles the 207 reported state against the bank account, alerting the operator to any 208 inconsistencies and computing expected balance, revenue and risk 209 exposure. 210 . 211 This package provides the taler-auditor incremental audit tool, the 212 long-running taler-auditor-httpd REST service, the taler-auditor-sync 213 helper that maintains a safe replica of the exchange database, and the 214 corresponding helper daemons. The offline-signing tool used 215 by the auditor is also included. 216 217 Package: libtalerexchange-dev 218 Section: libdevel 219 Architecture: any 220 Depends: 221 libtalerexchange (= ${binary:Version}), 222 libgnunet-dev (>=0.28.1~dev4), 223 libgcrypt20-dev (>=1.8), 224 libmicrohttpd-dev (>=1.0.1), 225 ${misc:Depends}, 226 ${shlibs:Depends} 227 Description: GNU Taler exchange client libraries - development files 228 This package contains the C header files, static libraries and 229 pkg-config files needed to build software against the GNU Taler 230 exchange client libraries shipped in libtalerexchange. 231 . 232 It also installs taler-fakebank-run, an in-memory implementation of the 233 Taler Wire Gateway API used by the Taler test suite. The fake bank is 234 not suitable for production use: all transaction state is kept in RAM 235 and lost on shutdown.