set -e
+ucf_register_templates() {
+ for template in /etc/pmg/templates/*; do
+ [ -e "$template" ] || continue;
+ template_base=$(basename "${template}")
+ if echo "${template_base}" | grep -q '\.ucf-'; then
+ continue
+ fi
+ if [ -e "/var/lib/pmg/templates/${template_base}" ]; then
+ ucf "/var/lib/pmg/templates/${template_base}" "${template}"
+ ucfr pmg-api "${template}"
+ else
+ echo "template '${template}' not shipped by pmg-api."
+ fi
+ done
+}
+
case "$1" in
triggered)
test -e /proxmox_install_mode && exit 0;
# Note: reload-or-try-restart fails if service is not active
- systemctl --quiet is-active pmgdaemon.service && deb-systemd-invoke reload-or-try-restart pmgdaemon.service
- systemctl --quiet is-active pmgproxy.service && deb-systemd-invoke reload-or-try-restart pmgproxy.service
- systemctl --quiet is-active pmg-smtp-filter.service && deb-systemd-invoke reload-or-try-restart pmg-smtp-filter.service
+ for service in pmgdaemon pmgproxy pmg-smtp-filter pmgpolicy pmgtunnel pmgmirror; do
+ if systemctl --quiet is-active $service.service ; then
+ deb-systemd-invoke reload-or-try-restart $service.service >/dev/null || true
+ fi
+ done
exit 0
;;
configure)
- test -e /proxmox_install_mode || pmgdb init
- test -e /proxmox_install_mode || pmgdb update >/dev/null 2>&1 &
-
+ if test ! -e /proxmox_install_mode ; then
+
+ pmgconfig init
+ pmgdb init
+
+ ucf_register_templates
+ pmgconfig sync --restart
+
+ if [ -z "$2" ]; then
+ if systemctl --quiet is-active pmgpolicy.service ; then
+ deb-systemd-invoke reload-or-try-restart postgresql.service >/dev/null || true
+ fi
+ deb-systemd-invoke restart postfix.service >/dev/null || true
+ fi
+
+ pmgdb update >/dev/null 2>&1 &
+
+ update-mime-database /usr/share/mime
+
+ else
+ # rewrite banner
+ pmgbanner || true
+ fi
;;
- abort-upgrade|abort-remove|abort-deconfigure)
+ abort-upgrade)
+ ucf_register_templates
+ ;;
+
+ abort-remove|abort-deconfigure)
;;
*)
#DEBHELPER#
+if test ! -e /proxmox_install_mode ; then
+ for service in pmgdaemon pmgproxy; do
+ if [ -n "$2" ]; then
+ # Note: reload-or-try-restart fails if service is not active
+ if systemctl --quiet is-active $service.service ; then
+ deb-systemd-invoke reload-or-try-restart $service.service >/dev/null || true
+ fi
+ else
+ deb-systemd-invoke start $service.service > /dev/null || true
+ fi
+ done
+fi
+
exit 0