diff options
Diffstat (limited to 'debian/mdadm.preinst')
-rw-r--r-- | debian/mdadm.preinst | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/debian/mdadm.preinst b/debian/mdadm.preinst new file mode 100644 index 00000000..b90ffb87 --- /dev/null +++ b/debian/mdadm.preinst @@ -0,0 +1,45 @@ +#!/bin/sh +# Copyright © martin f. krafft <madduck@debian.org> +# Distributed under the terms of the Artistic Licence 2.0 +# +set -e + +# based on idea from http://www.dpkg.org/dpkg/ConffileHandling +rm_conffile() { + local conffile md5sum package old_md5sum + + conffile="$1" + if [ -e "$conffile" ]; then + md5sum=$(md5sum "$conffile" | cut -d' ' -f1) + package=$(dpkg -S "$conffile" | cut -d: -f1) + old_md5sum=$(dpkg -s $package | sed -rne "s,[[:space:]]+${conffile}[[:space:]]+,,p") + if [ "$md5sum" != "$old_md5sum" ]; then + echo "Obsolete conffile $conffile has been modified by you." + echo "Saving as ${conffile}.dpkg-bak ..." + mv -f "$conffile" "$conffile".dpkg-bak + else + echo "Removing obsolete conffile $conffile ..." + rm -f "$conffile" + fi + fi +} + +case "$1" in + + upgrade|install) + + # migrate old configuration from *way back then* + DEBIANCONFIG=/etc/default/mdadm + OLDCONFIG=/etc/mdadm/debian.conf + if [ -s $OLDCONFIG ] && [ ! -f $DEBIANCONFIG ]; then + mv $OLDCONFIG $DEBIANCONFIG + fi + + # Used incorrect name s/_/-/, keep all throughout until after jessie is released. + rm_conffile /etc/udev/rules.d/65-mdadm.vol_id.rules + ;; + + *) :;; +esac + +#DEBHELPER# |