merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

taler-merchant.postinst (4452B)


      1 #!/bin/bash
      2 
      3 set -e
      4 
      5 MARKER="/run/taler/merchant.was-enabled"
      6 
      7 if [ -d /run/systemd/system ]; then
      8         systemctl --system daemon-reload >/dev/null || true
      9 fi
     10 if [ "$1" = "remove" ]; then
     11         if [ -x "/usr/bin/deb-systemd-helper" ]; then
     12                 deb-systemd-helper mask 'taler-merchant-depositcheck.service' >/dev/null || true
     13                 deb-systemd-helper mask 'taler-merchant-exchangekeyupdate.service' >/dev/null || true
     14                 deb-systemd-helper mask 'taler-merchant-donaukeyupdate.service' >/dev/null || true
     15                 deb-systemd-helper mask 'taler-merchant-httpd.service' >/dev/null || true
     16                 deb-systemd-helper mask 'taler-merchant-kyccheck.service' >/dev/null || true
     17                 deb-systemd-helper mask 'taler-merchant-reconciliation.service' >/dev/null || true
     18                 deb-systemd-helper mask 'taler-merchant-webhook.service' >/dev/null || true
     19                 deb-systemd-helper mask 'taler-merchant-wirewatch.service' >/dev/null || true
     20                 deb-systemd-helper mask 'taler-merchant.target' >/dev/null || true
     21         fi
     22 fi
     23 
     24 if [ "$1" = "purge" ]; then
     25         if [ -x "/usr/bin/deb-systemd-helper" ]; then
     26                 deb-systemd-helper purge 'taler-merchant-depositcheck.service' >/dev/null || true
     27                 deb-systemd-helper unmask 'taler-merchant-depositcheck.service' >/dev/null || true
     28                 deb-systemd-helper purge 'taler-merchant-donaukeyupdate.service' >/dev/null || true
     29                 deb-systemd-helper unmask 'taler-merchant-donaukeyupdate.service' >/dev/null || true
     30                 deb-systemd-helper purge 'taler-merchant-exchangekeyupdate.service' >/dev/null || true
     31                 deb-systemd-helper unmask 'taler-merchant-exchangekeyupdate.service' >/dev/null || true
     32                 deb-systemd-helper purge 'taler-merchant-httpd.service' >/dev/null || true
     33                 deb-systemd-helper unmask 'taler-merchant-httpd.service' >/dev/null || true
     34                 deb-systemd-helper purge 'taler-merchant-kyccheck.service' >/dev/null || true
     35                 deb-systemd-helper unmask 'taler-merchant-kyccheck.service' >/dev/null || true
     36                 deb-systemd-helper purge 'taler-merchant-reconciliation.service' >/dev/null || true
     37                 deb-systemd-helper unmask 'taler-merchant-reconciliation.service' >/dev/null || true
     38                 deb-systemd-helper purge 'taler-merchant-webhook.service' >/dev/null || true
     39                 deb-systemd-helper unmask 'taler-merchant-webhook.service' >/dev/null || true
     40                 deb-systemd-helper purge 'taler-merchant-wirewatch.service' >/dev/null || true
     41                 deb-systemd-helper unmask 'taler-merchant-wirewatch.service' >/dev/null || true
     42                 deb-systemd-helper purge 'taler-merchant.target' >/dev/null || true
     43                 deb-systemd-helper unmask 'taler-merchant.target' >/dev/null || true
     44         fi
     45 fi
     46 
     47 TALER_HOME="/var/lib/taler-merchant"
     48 
     49 . /usr/share/debconf/confmodule
     50 
     51 case "${1}" in
     52 configure)
     53 
     54   # Creating taler users if needed
     55   if ! getent passwd taler-merchant-httpd >/dev/null; then
     56     adduser --quiet --system --ingroup www-data --no-create-home --home ${TALER_HOME} taler-merchant-httpd
     57   fi
     58 
     59   if ! dpkg-statoverride --list /etc/taler-merchant/secrets/merchant-db.secret.conf >/dev/null 2>&1
     60   then
     61       dpkg-statoverride --add --update \
     62          taler-merchant-httpd root 460 \
     63          /etc/taler-merchant/secrets/merchant-db.secret.conf
     64   fi
     65 
     66   if [ -x /usr/bin/taler-merchant-dbinit ]; then
     67         /usr/bin/taler-merchant-dbinit >/dev/null 2>&1 || true
     68   fi
     69 
     70   if [ -f "$MARKER" ] && grep -q "enabled" "$MARKER"; then
     71     echo "taler-merchant-httpd was previously enabled, running DB config."
     72 
     73     systemctl enable --now taler-merchant.target || true
     74   else
     75     echo "Not enabling or starting Taler merchant services (marker not found or was 'disabled')."
     76   fi
     77 
     78   # Cleanup marker file
     79   rm -f "$MARKER"
     80 
     81   # Try to generate compressed versions of the SPA
     82   for n in index.html index.css index.js lang.js
     83   do
     84       TDIR="/usr/share/taler-merchant/"
     85       gzip --best - < "${TDIR}/spa/$n" > "${TDIR}/spa/$n.gz" || rm -f "${TDIR}/spa/$n.gz"
     86       zstd -19 - < "${TDIR}/spa/$n" > "${TDIR}/spa/$n.zstd" || rm -f "${TDIR}/spa/$n.zstd"
     87   done
     88 
     89   ;;
     90 
     91 abort-upgrade | abort-remove | abort-deconfigure) ;;
     92 
     93 *)
     94   echo "postinst called with unknown argument \`${1}'" >&2
     95   exit 1
     96   ;;
     97 esac
     98 
     99 #DEBHELPER#
    100 
    101 exit 0