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
|
#!/bin/sh
set -e
# summary of how this script can be called:
#
# * <new-preinst> `install'
# * <new-preinst> `install' <old-version> <new-version>
# * <new-preinst> `upgrade' <old-version> <new-version>
# * <old-preinst> `abort-upgrade' <new-version>
#
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package
create_protective_diversion() {
local usrfile="$1"
local firstver="$2"
if [ "$3" != "--" ]; then
echo "create_protective_diversion called with the wrong number of arguments" >&2
return 1
fi
for _ in $(seq 1 3); do
shift
done
# If we're upgrading from a new enough version of the package, it means
# that usr-merge has already happened and we don't need to mess with
# diversions at all
if [ -n "$2" ] && dpkg --compare-versions -- "$2" gt "$firstver"; then
return 0
fi
dpkg-divert \
--no-rename \
--divert "$usrfile.usr-is-merged" \
--add "$usrfile"
}
DAEMON_LOG_UNITS="
virtlogd-admin.socket
virtlogd.service
virtlogd.socket
"
case "$1" in
install|upgrade)
for unit in $DAEMON_LOG_UNITS; do
create_protective_diversion \
"/lib/systemd/system/$unit" \
"10.6.0-3~" \
-- \
"$@"
done
;;
abort-upgrade)
;;
*)
echo "preinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0
|