pve-manager/debian/postinst
Thomas Lamprecht ae997e258a postinst: ensure pve-daily-upgrade timer gets started on transition
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-03-13 12:14:38 +01:00

110 lines
3.5 KiB
Bash
Executable File

#!/bin/sh
# Abort if any command returns an error value
set -e
# This script is called as the last step of the installation of the
# package. All the package's files are in place, dpkg has already
# done its automatic conffile handling, and all the packages we depend
# of are already fully installed and configured.
case "$1" in
triggered)
# We don't print a status message here, as dpkg already said
# "Processing triggers for ...".
# test if /etc/pve is mounted; else simple exit to avoid
# error during updates
test -f /etc/pve/local/pve-ssl.pem || exit 0;
test -e /proxmox_install_mode && exit 0;
deb-systemd-invoke reload-or-try-restart pvedaemon.service
deb-systemd-invoke reload-or-try-restart pvestatd.service
deb-systemd-invoke reload-or-try-restart pveproxy.service
deb-systemd-invoke reload-or-try-restart spiceproxy.service
exit 0;;
configure)
# Configure this package. If the package must prompt the user for
# information, do it here.
mkdir /etc/pve 2>/dev/null || true
if test ! -e /var/lib/pve-manager/apl-info/download.proxmox.com; then
mkdir -p /var/lib/pve-manager/apl-info
cp /usr/share/doc/pve-manager/aplinfo.dat /var/lib/pve-manager/apl-info/download.proxmox.com
pveam update || true
fi
if ! test -f /root/.forward || ! grep -q '|/usr/bin/pvemailforward' /root/.forward; then
echo '|/usr/bin/pvemailforward' >>/root/.forward
fi
systemctl --system daemon-reload >/dev/null || true
# same as dh_systemd_enable (code copied)
UNITS="pvedaemon.service pveproxy.service spiceproxy.service pvestatd.service pvebanner.service pvesr.timer pve-daily-update.timer"
NO_RESTART_UNITS="pvenetcommit.service pve-guests.service"
for unit in ${UNITS} ${NO_RESTART_UNITS}; do
deb-systemd-helper unmask "$unit" >/dev/null || true
# was-enabled defaults to true, so new installations run enable.
if deb-systemd-helper --quiet was-enabled "$unit"; then
# Enables the unit on first installation, creates new
# symlinks on upgrades if the unit file has changed.
deb-systemd-helper enable "$unit" >/dev/null || true
else
# Update the statefile to add new symlinks (if any), which need to be
# cleaned up on purge. Also remove old symlinks.
deb-systemd-helper update-state "$unit" >/dev/null || true
fi
done
if test ! -e /proxmox_install_mode; then
# modeled after code generated by dh_start
for unit in ${UNITS}; do
if test -n "$2"; then
dh_action="reload-or-try-restart";
else
dh_action="start"
fi
if systemctl -q is-enabled "$unit"; then
deb-systemd-invoke $dh_action "$unit"
fi
done
fi
if test -n "$2"; then
# "$2" is the most recently configured version
if dpkg --compare-versions "$2" '<=' '5.0-23'; then
# 5.0-23 temporarily reverted the removal of the startcom CA in
# ca-certificates; we've since switched to let's encrypt
update-ca-certificates >/dev/null 2>&1
fi
if dpkg --compare-versions "$2" '<=' '5.1-47'; then
# remove cron update job, superseded by systemd timer
rm -f /etc/cron.d/pveupdate
# remove old/unused init.d files
OLD_INITD_FILES="pvebanner pvenetcommit pve-manager pvedaemon pveproxy pvestatd spiceproxy"
for f in ${OLD_INITD_FILES}; do rm -f "/etc/init.d/$f"; done
deb-systemd-invoke start pve-daily-update.timer
fi
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*) echo "$0: didn't understand being called with \`$1'" 1>&2
exit 0;;
esac
exit 0