summaryrefslogtreecommitdiffstats
path: root/debian/qemu-guest-agent.postrm
diff options
context:
space:
mode:
Diffstat (limited to 'debian/qemu-guest-agent.postrm')
-rw-r--r--debian/qemu-guest-agent.postrm56
1 files changed, 56 insertions, 0 deletions
diff --git a/debian/qemu-guest-agent.postrm b/debian/qemu-guest-agent.postrm
new file mode 100644
index 00000000..525e3cbf
--- /dev/null
+++ b/debian/qemu-guest-agent.postrm
@@ -0,0 +1,56 @@
+#!/bin/sh
+# postrm script for qemu-guest-agent
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postrm> `remove'
+# * <postrm> `purge'
+# * <old-postrm> `upgrade' <new-version>
+# * <new-postrm> `failed-upgrade' <old-version>
+# * <new-postrm> `abort-install'
+# * <new-postrm> `abort-install' <old-version>
+# * <new-postrm> `abort-upgrade' <old-version>
+# * <disappearer's-postrm> `disappear' <overwriter>
+# <overwriter-version>
+# for details, see https://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ ;;
+
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+# If needed revert the move we have made in preinst to compensate the new path being a DIR in the old package version (LP: 1820291)
+case "$1" in
+ abort-install|abort-upgrade)
+ # 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"
+ if [ -e "$TMPCONFFILE.dpkg-remove" ]; then
+ echo "Reinstalling $ORIGCONFFILE that was moved away"
+ if [ -f "$NEWCONFFILE" ]; then
+ rm -f "$NEWCONFFILE"
+ fi
+ mkdir -p "$NEWCONFFILE"
+ mv "$TMPCONFFILE.dpkg-remove" "$ORIGCONFFILE"
+ fi
+ fi
+esac
+
+exit 0