summaryrefslogtreecommitdiffstats
path: root/debian/qemu-guest-agent.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/qemu-guest-agent.postinst')
-rw-r--r--debian/qemu-guest-agent.postinst59
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