merchant

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

taler-merchant.postinst (3335B)


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