taler-rpm

Specifications for RPM packages (experimental)
Log | Files | Refs

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