diff options
Diffstat (limited to '')
-rw-r--r-- | debian/preinst | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/debian/preinst b/debian/preinst new file mode 100644 index 0000000..511cca1 --- /dev/null +++ b/debian/preinst @@ -0,0 +1,46 @@ +#!/bin/sh +# preinst script for gitolite +# Copyright 2011 by Gerfried Fuchs <rhonda@debian.at> +# Licenced under WTFPLv2 + +set -e +#DEBHELPER# + +# summary of how this script can be called: +# * <new-preinst> `install' +# * <new-preinst> `install' <old-version> +# * <new-preinst> `upgrade' <old-version> +# * <old-preinst> `abort-upgrade' <new-version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +rm_conffile() { + local PKGNAME="$1" + local CONFFILE="$2" + + [ -e "$CONFFILE" ] || return 0 + + local md5sum="$(md5sum $CONFFILE | sed -e 's/ .*//')" + local old_md5sum="$(dpkg-query -W -f='${Conffiles}' $PKGNAME | \ + sed -n -e "\' $CONFFILE ' { s/ obsolete$//; s/.* //; 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 +} + +# cleanup for configuration stored in /etc that got installed by packages prior to 2.0-1 +case "$1" in + install|upgrade) + if dpkg --compare-versions "$2" le "2.0-1"; then + for i in example.conf example.gitolite.rc VERSION; do + rm_conffile gitolite "/etc/gitolite/$i" + done + fi +esac + +exit 0 |