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