#!/bin/bash set -e . /usr/share/debconf/confmodule case "${1}" in configure) db_version 2.0 db_get taler-auditor/username _USERNAME="${RET:-taler-auditor-httpd}" db_get taler-auditor/groupname _GROUPNAME="${RET:-taler-auditor-httpd}" db_stop CONFIG_FILE="/etc/default/taler-auditor" TALER_HOME="/var/lib/taler-auditor" # Creating taler groups as needed if ! getent group ${_GROUPNAME} > /dev/null then echo -n "Creating new Taler group ${_GROUPNAME}:" addgroup --quiet --system ${_GROUPNAME} echo " done." fi # Creating taler users if needed if ! getent passwd ${_USERNAME} > /dev/null then echo -n "Creating new Taler user ${_USERNAME}:" adduser --quiet --system --ingroup ${_GROUPNAME} --home ${TALER_HOME}/httpd ${_USERNAME} echo " done." fi # Writing new values to configuration file echo -n "Writing new configuration file:" CONFIG_NEW=$(tempfile) cat > "${CONFIG_NEW}" <<EOF # This file controls the behaviour of the Taler init script. # It will be parsed as a shell script. # please do not edit by hand, use 'dpkg-reconfigure taler-auditor'. TALER_USER=${_USERNAME} TALER_GROUP=${_GROUPNAME} EOF cat > "/etc/systemd/system/taler-auditor-httpd.service" <<EOF [Unit] Description=GNU Taler payment system auditor REST API After=postgres.service network.target [Service] EnvironmentFile=/etc/default/taler-auditor User=${_USERNAME} Type=simple Restart=on-failure ExecStart=/usr/bin/taler-auditor-httpd -c /etc/taler-auditor.conf [Install] WantedBy=multi-user.target EOF cp -f "${CONFIG_NEW}" "${CONFIG_FILE}" rm -f "${CONFIG_NEW}" echo " done." echo -n "Setting up system services " mkdir -p /var/lib/taler-auditor/tmp chown root:${_GROUPNAME} /var/lib/taler-auditor/tmp chmod 770 /var/lib/taler-auditor/tmp chmod +s /var/lib/taler-auditor/tmp systemctl daemon-reload echo "done." # Cleaning echo "All done." ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`${1}'" >&2 exit 1 ;; esac #DEBHELPER# exit 0