#!/bin/sh
# postinst script for x2goserver

set -e

# see: dh_installdeb(1)
# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <postinst> `abort-remove'
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package

NAME="matrix-sydent"
USER="${NAME}"
GROUP="${USER}"
CONFFILE="/etc/${NAME}/sydent.conf"

case "$1" in
	configure|reconfigure)
		if ! getent passwd "${USER}" >/dev/null; then
			adduser --quiet --system --no-create-home --group --home /var/lib/${NAME} "${USER}"
		fi

		if ! dpkg-statoverride --list --quiet "/var/lib/${NAME}" >/dev/null; then
			dpkg-statoverride --force-all --quiet --update --add "${USER}" "${GROUP}" 0750 "/var/lib/${NAME}"
		fi
		if ! dpkg-statoverride --list --quiet "/var/log/${NAME}" >/dev/null; then
			dpkg-statoverride --force-all --quiet --update --add "${USER}" "adm" 0750 "/var/log/${NAME}"
		fi
		if ! dpkg-statoverride --list --quiet "${CONFFILE}" >/dev/null; then
			dpkg-statoverride --force-all --quiet --update --add root "${GROUP}" 0640 "${CONFFILE}"
		fi

		if grep -q "@SIGNING_KEY@" "${CONFFILE}"; then
			echo "Creating initial signing key in ${CONFFILE}."
			signing_key="$(/usr/share/${NAME}/generate-key | grep -E "^signing key:" | sed -e 's/signing key: //' -e 's|\s\$|/|g')"
			sed -E -e "s|@SIGNING_KEY@|${signing_key}|" -i "${CONFFILE}"
		fi

	;;
esac

#DEBHELPER#

exit 0
