gnunet-rpm

GNUnet RPM package rules
Log | Files | Refs | README

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