merchant

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

taler-merchant.postinst (2810B)


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