summaryrefslogtreecommitdiffstats
path: root/debian/preinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/preinst')
-rw-r--r--debian/preinst46
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