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