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
|
#!/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
create_config_from_template() {
local config="$1"
local template="$2"
local firstver="$3"
if [ "$4" != "--" ]; then
echo "create_config_from_template called with the wrong number of arguments" >&2
return 1
fi
for _ in $(seq 1 4); do
shift
done
if [ -n "$2" ] && dpkg --compare-versions -- "$2" gt "$firstver"; then
# The package is already configured, and the version that's been
# configured is new enough to contain the config file
if [ -e "$config.dpkg-backup" ]; then
# The package had been configured in the past and has
# subsequently been removed without purging, so a backup of
# the config file is still present on the disk. Restore it
mv -f "$config.dpkg-backup" "$config"
return 0
else
# We're doing a regular upgrade. Don't change anything
return 0
fi
else
# We're either installing from scratch, or upgrading from a version
# that didn't have the config file yet. Make a copy of the template
# in the appropriate location and with the expected permissions
install -o root -g root -m 0600 "$template" "$config"
return 0
fi
}
case "$1" in
configure)
create_config_from_template \
"/etc/libvirt/qemu/networks/default.xml" \
"/usr/share/libvirt/networks/default.xml" \
"6.9.0-2~" \
-- \
"$@"
# Trigger daemon restart after installing configuration files
dpkg-trigger libvirt-restart-libvirtd
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0
|