1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
#!/bin/sh
set -e
# 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
delete_protective_diversion() {
local usrfile="$1"
local firstver="$2"
if [ "$3" != "--" ]; then
echo "delete_protective_diversion called with the wrong number of arguments" >&2
return 1
fi
for _ in $(seq 1 3); do
shift
done
# If the diversion doesn't exist there's nothing to clean up
if [ -z "$(dpkg-divert --list "$usrfile")" ]; then
return 0
fi
dpkg-divert \
--no-rename \
--divert "$usrfile.usr-is-merged" \
--remove "$usrfile"
}
add_users_groups()
{
if ! getent group libvirt >/dev/null; then
addgroup --quiet --system libvirt
fi
}
add_statoverrides()
{
ROOT_DIRS="
/var/lib/libvirt/images/
/var/lib/libvirt/boot/
/var/cache/libvirt/
"
for dir in ${ROOT_DIRS}; do
if ! dpkg-statoverride --list "${dir}" >/dev/null 2>&1; then
[ ! -e "${dir}" ] || chown root:root "${dir}"
[ ! -e "${dir}" ] || chmod 0711 "${dir}"
fi
done
}
DAEMON_COMMON_UNITS="
libvirt-guests.service
virt-guest-shutdown.target
"
case "$1" in
configure)
add_users_groups
add_statoverrides
# Obsolete UML stuff included until 9.0.0-1
rm -f /var/log/libvirt/uml/.placeholder
if [ -d /var/log/libvirt/uml ]; then
rmdir --ignore-fail-on-non-empty /var/log/libvirt/uml
fi
for unit in $DAEMON_COMMON_UNITS; do
delete_protective_diversion \
"/lib/systemd/system/$unit" \
"10.6.0-3~" \
-- \
"$@"
done
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0
|