diff options
Diffstat (limited to 'debian/qemu-guest-agent.postinst')
-rw-r--r-- | debian/qemu-guest-agent.postinst | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/debian/qemu-guest-agent.postinst b/debian/qemu-guest-agent.postinst new file mode 100644 index 00000000..e479a0d2 --- /dev/null +++ b/debian/qemu-guest-agent.postinst @@ -0,0 +1,59 @@ +#!/bin/sh +# postinst script for qemu-guest-agent +# +# see: dh_installdeb(1) + +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 + + +case "$1" in + configure) + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +# Normal mv_conffile alone would fail due to the new path being a DIR in the old package version (LP: 1820291) +case "$1" in + configure) + # From /usr/bin/dpkg-maintscript-helper modified to be able to cope with this edge case + if [ -n "$2" ] && dpkg --compare-versions -- "$2" le-nl "1:3.1+dfsg-7~"; then + TMPCONFFILE="/etc/qemu/fsfreeze-hook.old" + NEWCONFFILE="/etc/qemu/fsfreeze-hook" + ORIGCONFFILE="/etc/qemu/fsfreeze-hook/fsfreeze-hook" + rm -f "$TMPCONFFILE.dpkg-remove" + if [ -e "$TMPCONFFILE" ]; then + echo "Preserving user changes to $NEWCONFFILE (renamed from $ORIGCONFFILE)..." + if [ -e "$NEWCONFFILE" ]; then + mv -f "$NEWCONFFILE" "$NEWCONFFILE.dpkg-new" + fi + mv -f "$TMPCONFFILE" "$NEWCONFFILE" + fi + fi + ;; +esac + +exit 0 |