]> git.proxmox.com Git - pmg-api.git/blame - debian/postinst
daily update timer: start already on 01:00 to avoid dst change issue
[pmg-api.git] / debian / postinst
CommitLineData
0854fb22
DM
1#!/bin/sh
2
3set -e
4
5
ac81f7c9
SI
6ucf_register_templates() {
7 for template in /etc/pmg/templates/*; do
e97f0405 8 [ -e "$template" ] || continue;
ac81f7c9
SI
9 template_base=$(basename "${template}")
10 if echo "${template_base}" | grep -q '\.ucf-'; then
11 continue
12 fi
13 if [ -e "/var/lib/pmg/templates/${template_base}" ]; then
14 ucf "/var/lib/pmg/templates/${template_base}" "${template}"
15 ucfr pmg-api "${template}"
16 else
17 echo "template '${template}' not shipped by pmg-api."
18 fi
19 done
20}
21
0854fb22 22case "$1" in
3cf7a549
DM
23 triggered)
24
25 test -e /proxmox_install_mode && exit 0;
26
27 # Note: reload-or-try-restart fails if service is not active
b970485e
DM
28 for service in pmgdaemon pmgproxy pmg-smtp-filter pmgpolicy pmgtunnel pmgmirror; do
29 if systemctl --quiet is-active $service.service ; then
0e927889 30 deb-systemd-invoke reload-or-try-restart $service.service >/dev/null || true
b970485e
DM
31 fi
32 done
07f15aa3 33
3cf7a549
DM
34 exit 0
35 ;;
36
0854fb22 37 configure)
737c6f66
TL
38 # FIXME: remove in PMG 8.0
39 if test ! -e /proxmox_install_mode && test -n "$2" && dpkg --compare-versions "$2" 'lt' '7.0-2~'; then
40 # PMG 5 ISOs had a bug and did not generated a unique machine-id. below is a list of
41 # all machine-ids from all ISOs (released, tests & internal) possibly affected
42 if grep -q \
43 -e e378bde63ac54872a85af23a8e4dac73 \
44 -e 932b668d1fad4709b4976d54152d223c \
45 -e 931a8410cd034202a26b0e19d56e157a \
46 -e 9a1f3c5284e1423c9b0e0ee5819db6c9 \
47 -e 5472a49c6436426fbebd7881f7b7f13b \
48 /etc/machine-id
49 then
50 echo "found static machine-id bug from Proxmox Mail Gateway ISO installer <= 5.4, regenerating machine-id"
51 systemd-id128 new | tee /etc/machine-id.new /var/lib/dbus/machine-id.new
52 # atomically replace
53 mv /etc/machine-id.new /etc/machine-id
54 mv /var/lib/dbus/machine-id.new /var/lib/dbus/machine-id
55 echo "new machine-id generated, a reboot is recommended"
56 else
57 echo "machine-id check OK"
58 fi
59 fi
ebe7f62b 60
7aa01a97 61 if test ! -e /proxmox_install_mode ; then
cf521b5d 62
5e374987
DM
63 pmgconfig init
64 pmgdb init
ac81f7c9
SI
65
66 ucf_register_templates
49606351 67 pmgconfig sync --restart
ef23c01a 68
49606351 69 if [ -z "$2" ]; then
5e374987 70 if systemctl --quiet is-active pmgpolicy.service ; then
0e927889 71 deb-systemd-invoke reload-or-try-restart postgresql.service >/dev/null || true
5e374987 72 fi
0e927889 73 deb-systemd-invoke restart postfix.service >/dev/null || true
ef23c01a 74 fi
ef23c01a 75
5e374987 76 pmgdb update >/dev/null 2>&1 &
cf521b5d 77
5e374987 78 update-mime-database /usr/share/mime
ac81f7c9 79
07959366
DM
80 else
81 # rewrite banner
82 pmgbanner || true
5e374987 83 fi
0854fb22
DM
84 ;;
85
ac81f7c9
SI
86 abort-upgrade)
87 ucf_register_templates
88 ;;
89
90 abort-remove|abort-deconfigure)
0854fb22
DM
91 ;;
92
93 *)
94 echo "postinst called with unknown argument \`$1'" >&2
95 exit 1
96 ;;
97esac
98
99# dh_installdeb will replace this with shell code automatically
100# generated by other debhelper scripts.
101
102#DEBHELPER#
103
2305fb86
DM
104if test ! -e /proxmox_install_mode ; then
105 for service in pmgdaemon pmgproxy; do
106 if [ -n "$2" ]; then
107 # Note: reload-or-try-restart fails if service is not active
108 if systemctl --quiet is-active $service.service ; then
0e927889 109 deb-systemd-invoke reload-or-try-restart $service.service >/dev/null || true
2305fb86
DM
110 fi
111 else
0e927889 112 deb-systemd-invoke start $service.service > /dev/null || true
2305fb86
DM
113 fi
114 done
115fi
116
0854fb22 117exit 0