#!/bin/sh # preinst script for qemu-guest-agent # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `install' # * `install' # * `upgrade' # * `abort-upgrade' # for details, see https://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in install|upgrade) ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. # Normal mv_conffile alone would fail due to the new path being a DIR in the old package version (LP: 1820291) case "$1" in install|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 [ -f "$ORIGCONFFILE" ]; then disk_md5sum="$(md5sum "$ORIGCONFFILE" | sed -e 's/ .*//')" pkg_md5sum="$(dpkg-query -W -f='${Conffiles}' "qemu-guest-agent" | \ sed -n -e "\'^ $ORIGCONFFILE ' { s/ obsolete$//; s/.* //; p }")" if [ "$disk_md5sum" = "$pkg_md5sum" ]; then # mark as having no custom content mv -f "$ORIGCONFFILE" "${TMPCONFFILE}.dpkg-remove" else # keep the "old" name to reflect there is content to be preserved mv -f "$ORIGCONFFILE" "$TMPCONFFILE" fi # In any case the old directory blocking the new conffile # has to be removed before unpack happens rmdir "$NEWCONFFILE" || echo "failed to remove $NEWCONFFILE" fi fi ;; esac # Automatically added by dh_installinit/13.15.3 if [ "$1" = "install" ] && [ -n "$2" ] && [ -e "/etc/init.d/qemu-guest-agent" ] ; then chmod +x "/etc/init.d/qemu-guest-agent" >/dev/null || true fi # End automatically added section exit 0