taler-exchange.spec (10317B)
1 Name: taler-exchange 2 Version: 1.0.0 3 Release: 1%{?dist} 4 Summary: The Taler exchange service. 5 License: AGPL-3.0-or-later 6 URL: https://taler.net 7 %global _disable_source_fetch 0 8 Source0: https://ftpmirror.gnu.org/gnu/taler/%{name}-%{version}.tar.gz 9 Source1: https://ftpmirror.gnu.org/gnu/taler/%{name}-%{version}.tar.gz.sig 10 Source2: https://keys.openpgp.org/vks/v1/by-fingerprint/D8423BCB326C7907033929C7939E6BE1E29FC3CC 11 %global SHA512SUM0 ddb593e25817b534b22eb10ed589b33c8ebe42f48f9190aba4bba44995ab7e8569cfbcdbc27bba345ec26cbe4f3d32d80b439d1267c4731659b2a29c862f1324 12 BuildRequires: libtool 13 BuildRequires: libtool-ltdl 14 BuildRequires: libtool-ltdl-devel 15 BuildRequires: autoconf 16 BuildRequires: make 17 BuildRequires: gettext 18 BuildRequires: gcc 19 BuildRequires: sqlite-devel 20 BuildRequires: libunistring-devel 21 BuildRequires: libcurl-devel 22 BuildRequires: libgcrypt-devel 23 BuildRequires: libsodium-devel 24 BuildRequires: libargon2-devel 25 BuildRequires: jansson-devel 26 BuildRequires: libpq-devel 27 BuildRequires: gnupg2 28 BuildRequires: jq 29 BuildRequires: zlib-devel 30 Recommends: postgresql-server 31 Recommends: taler-exchange-offline 32 BuildRequires: libmicrohttpd-devel 33 BuildRequires: libgnunetpq-devel 34 BuildRequires: python3-jinja2 35 36 %description 37 GNU Taler is the privacy-preserving digital payment 38 system from the GNU project. This package contains the 39 core logic that must be run by the payment service 40 provider or bank to offer payments to consumers and 41 merchants. At least one exchange must be operated 42 per currency. 43 In addition to the core logic, an exchange operator 44 must also have a system running the "offline" logic 45 which is packaged as taler-exchange-offline. It is 46 recommended to keep the "offline" logic on a system 47 that is never connected to the Internet. However, it 48 is also possible to run the "offline" logic directly 49 on the production system, especially for testing. 50 Finally, an exchange operator should also be prepared 51 to run a taler-auditor. 52 53 54 %package devel 55 Summary: Taler exchange development headers 56 %description devel 57 Files needed to develop Taler exchange applications and services. 58 59 %package offline 60 Requires: libtalerexchange%{?_isa} = %{version}-%{release} 61 Summary: Tools for managing the GNU Taler exchange offline keys 62 %description offline 63 A GNU Taler exchange uses an offline key to sign its online 64 keys, fee structure, bank routing information and other meta 65 data. The offline signing key is the root of the Taler PKI 66 that is then embedded in consumer wallets and merchant backends. 67 This package includes the tool to download material to sign 68 from the exchange, create signatures, and upload the resulting 69 signatures to the exchange. 70 71 72 %package database 73 Summary: Programs and libraries to manage a GNU Taler exchange database. 74 %description database 75 This package contains only the code to setup the (Postgresql) database interaction (taler-exchange-dbinit and associated resource files). 76 77 %package -n libtalerexchange 78 Summary: Libraries to talk to a GNU Taler exchange 79 %description -n libtalerexchange 80 Libraries to talk to a GNU Taler exchange. 81 The package also contains various files fundamental to all GNU Taler installations, such as the taler-config configuration command-line tool, various base configuration files and associated documentation. 82 83 %package -n libtalerexchange-devel 84 Requires: libtalerexchange%{?_isa} = %{version}-%{release} 85 Summary: Development files to talk to a GNU Taler exchange 86 %description -n libtalerexchange-devel 87 Libraries to talk to a GNU Taler exchange (development). 88 89 %package -n taler-auditor 90 Requires: libtalerexchange%{?_isa} = %{version}-%{release} 91 Requires: taler-exchange-database%{?_isa} = %{version}-%{release} 92 Summary: GNU's payment system auditor. 93 %description -n taler-auditor 94 GNU Taler is the privacy-preserving digital payment 95 system from the GNU project. This package contains the 96 auditor logic. It verifies that the taler-exchange run 97 by a payment service provider is correctly performing 98 its bank transactions and thus has the correct balance 99 in its escrow account. Each exchange operator is 100 expected to make use of one or more auditors as part 101 of its regulatory compliance. 102 103 %prep 104 echo "%SHA512SUM0 %SOURCE0" | sha512sum -c - 105 %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' 106 107 %autosetup -N 108 %build 109 %configure 110 %{make_build} 111 112 %install 113 make install DESTDIR=%{buildroot} 114 #%find_lang %{name} 115 # FIXME: Installing default configs. Those must be shipped in the tarball. 116 #install debian/etc-libtalerexchange/* etc/ 117 #install debian/etc-taler-auditor/* etc/ 118 #install debian/etc-taler-exchange/* etc/ 119 #install -Dm644 "contrib/packages/fedora/%{name}.service" "%{buildroot}/%{_unitdir}/%{name}.service" 120 #install -Dm644 "contrib/packages/fedora/%{name}-user.service" "%{buildroot}/%{_userunitdir}/%{name}-user.service" 121 #install -Dm644 "contrib/packages/fedora/gnunet-system.conf" %{buildroot}/%{_sysconfdir}/gnunet.conf 122 rm -f %{buildroot}%{_infodir}/dir 123 124 %check 125 # FIXME test builds require installed libtalerexchange. May be upstream bug. 126 #make check 127 128 %post 129 #%systemd_post %{name}.service 130 #%systemd_user_post %{name}-user.service 131 132 %preun 133 #%systemd_preun %{name}.service 134 135 %postun 136 #%systemd_postun_with_restart %{name}.service 137 #%systemd_user_post %{name}-user.service 138 139 %files 140 # AGPLv3 141 %{_bindir}/taler-exchange-aggregator 142 %{_bindir}/taler-exchange-closer 143 %{_bindir}/taler-exchange-dbinit 144 %{_bindir}/taler-exchange-drain 145 %{_bindir}/taler-exchange-expire 146 %{_bindir}/taler-exchange-dbconfig 147 %{_bindir}/taler-exchange-helper-converter-oauth2-test-full_name 148 %{_bindir}/taler-exchange-helper-measure-test-form 149 %{_bindir}/taler-exchange-helper-measure-test-oauth 150 %{_bindir}/taler-exchange-httpd 151 %{_bindir}/taler-exchange-kyc-aml-pep-trigger.sh 152 %{_bindir}/taler-exchange-kyc-kycaid-converter.sh 153 %{_bindir}/taler-exchange-kyc-oauth2-challenger.sh 154 %{_bindir}/taler-exchange-kyc-oauth2-nda.sh 155 %{_bindir}/taler-exchange-kyc-oauth2-test-converter.sh 156 %{_bindir}/taler-exchange-kyc-persona-converter.sh 157 %{_bindir}/taler-exchange-router 158 %{_bindir}/taler-exchange-secmod-cs 159 %{_bindir}/taler-exchange-secmod-eddsa 160 %{_bindir}/taler-exchange-secmod-rsa 161 %{_bindir}/taler-exchange-transfer 162 %{_bindir}/taler-exchange-wirewatch 163 %{_bindir}/taler-exchange-wire-gateway-client 164 %{_bindir}/taler-exchange-helper-measure-challenger-email-context-check 165 %{_bindir}/taler-exchange-helper-measure-challenger-postal-context-check 166 %{_bindir}/taler-exchange-helper-measure-challenger-sms-context-check 167 %{_bindir}/taler-exchange-helper-measure-clear-continue 168 %{_bindir}/taler-exchange-helper-measure-defaults-but-investigate 169 %{_bindir}/taler-exchange-helper-measure-freeze 170 %{_bindir}/taler-exchange-helper-measure-inform-investigate 171 %{_bindir}/taler-exchange-helper-measure-none 172 %{_bindir}/taler-exchange-helper-measure-preserve-but-investigate 173 %{_bindir}/taler-exchange-helper-measure-preserve-set-expiration 174 %{_bindir}/taler-exchange-helper-measure-tops-3rdparty-check 175 %{_bindir}/taler-exchange-helper-measure-tops-address-check 176 %{_bindir}/taler-exchange-helper-measure-tops-kyx-check 177 %{_bindir}/taler-exchange-helper-measure-tops-postal-check 178 %{_bindir}/taler-exchange-helper-measure-tops-sms-check 179 %{_bindir}/taler-exchange-helper-measure-update-from-context 180 %{_bindir}/taler-exchange-helper-measure-validate-accepted-tos 181 %{_bindir}/taler-exchange-helper-sanctions-dummy 182 %{_bindir}/taler-exchange-kyc-challenger-email-converter 183 %{_bindir}/taler-exchange-kyc-challenger-postal-converter 184 %{_bindir}/taler-exchange-kyc-challenger-sms-converter 185 %{_bindir}/taler-exchange-kyc-trigger 186 %{_bindir}/taler-exchange-sanctionscheck 187 %{_libdir}/taler-exchange/* 188 # FIXME different package? 189 %{_bindir}/taler-terms-generator 190 %{_bindir}/taler-unified-setup.sh 191 %{_mandir}/man1/taler-exchange-aggregator* 192 %{_mandir}/man1/taler-exchange-closer* 193 %{_mandir}/man1/taler-exchange-drain* 194 %{_mandir}/man1/taler-exchange-expire* 195 %{_mandir}/man1/taler-exchange-httpd* 196 %{_mandir}/man1/taler-exchange-router* 197 %{_mandir}/man1/taler-exchange-secmod-eddsa* 198 %{_mandir}/man1/taler-exchange-secmod-rsa* 199 %{_mandir}/man1/taler-exchange-secmod-cs* 200 %{_mandir}/man1/taler-exchange-transfer* 201 %{_mandir}/man1/taler-exchange-wirewatch* 202 %{_mandir}/man1/taler-bank* 203 %{_mandir}/man1/taler-exchange-wire-gateway-client* 204 %{_mandir}/man1/taler-aggregator-benchmark.1.gz 205 %{_mandir}/man1/taler-exchange-dbconfig.1.gz 206 %{_mandir}/man1/taler-exchange-kyc-aml-pep-trigger.1.gz 207 %{_mandir}/man1/taler-exchange-kyc-trigger.1.gz 208 %{_mandir}/man1/taler-exchange-sanctionscheck.1.gz 209 %{_mandir}/man1/taler-fakebank-run.1.gz 210 %{_mandir}/man1/taler-terms-generator.1.gz 211 %{_mandir}/man1/taler-unified-setup.1.gz 212 %{_mandir}/man5/taler-exchange.conf.5.gz 213 %{_infodir}/taler-exchange* 214 %{_datadir}/taler-exchange/* 215 # FIXME configuration files in /etc/taler 216 217 %files -n libtalerexchange 218 # FIXME: All this should eventually go into taler-base. 219 %{_bindir}/taler-exchange-config 220 %{_mandir}/man1/taler-exchange-config* 221 %{_libdir}/libtaler*.so.* 222 223 %files -n libtalerexchange-devel 224 # Benchmarks, only install them for the dev package. 225 %{_bindir}/taler-aggregator-benchmark 226 %{_bindir}/taler-exchange-benchmark 227 %{_bindir}/taler-fakebank-run 228 %{_bindir}/taler-bank-benchmark 229 %{_bindir}/taler-exchange-kyc-tester 230 # Man pages 231 %{_mandir}/man1/taler-exchange-kyc-tester* 232 # Headers 233 %{_includedir}/taler/* 234 # Plain .so symlinks 235 %{_libdir}/libtaler*.so 236 # Documentation 237 %{_mandir}/man1/taler-exchange-benchmark* 238 %{_infodir}/taler-developer-manual* 239 240 %files -n taler-auditor 241 %{_bindir}/taler-auditor-config 242 %{_bindir}/taler-auditor-dbinit 243 %{_bindir}/taler-auditor-dbconfig 244 %{_bindir}/taler-auditor-httpd 245 %{_bindir}/taler-auditor-offline 246 %{_bindir}/taler-auditor-sync 247 %{_bindir}/taler-helper-auditor-* 248 %{_libdir}/libauditor* 249 %{_datadir}/taler-auditor/* 250 %{_libdir}/libtalerauditordb* 251 %{_libdir}/taler-auditor/* 252 %{_mandir}/man1/taler-auditor* 253 %{_mandir}/man1/taler-helper-auditor* 254 %{_infodir}/taler-auditor* 255 # FIXME Configuration 256 257 %files database 258 %{_bindir}/taler-exchange-dbinit 259 %{_mandir}/man1/taler-exchange-dbinit.1.gz 260 261 %files offline 262 %{_bindir}/taler-exchange-offline 263 %{_mandir}/*/taler-exchange-offline* 264 265 #%files doc 266 267 268 %changelog 269 * Fri Oct 24 2025 Martin Schanzenbach - 1.0.0-1 270 - Packaged old release 271 272 * Thu May 18 2023 Martin Schanzenbach - 0.9.2-1 273 - Initial package