Remove obsolete config file diversions
[grml-etc.git] / debian / preinst
1 #!/bin/sh
2 # Filename:      preinst
3 # Purpose:       preinst script for package grml-etc
4 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports:   see http://grml.org/bugs/
6 # License:       This file is licensed under the GPL v2.
7 # Latest change: Mon Feb 04 15:32:00 CET 2008 [mika]
8 ################################################################################
9
10 set -e
11
12 TO_DIVERT1="ssh"
13
14 divert_gen() {
15     DEXT=${3:-original}
16     dpkg-divert --add --rename --package grml-etc \
17         --divert $2/$1.$DEXT $2/$1 > /dev/null
18 }
19
20 undivert_gen() {
21     DEXT=${3:-original}
22     dpkg-divert --remove --rename --package grml-etc \
23         --divert $2/$1.$DEXT $2/$1 #> /dev/null
24 }
25
26 # move files from package grml-etc to grml-etc-core
27 # and make sure we do not lose any files...
28 rm_conffile() {
29     CONFFILE="$1"
30
31     if [ -e "$CONFFILE" ]; then
32         md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
33         old_md5sum="`dpkg-query -W -f='${Conffiles}' grml-etc | sed -n -e \"\\\\' $CONFFILE'{s/ obsolete$//;s/.* //p}\"`"
34         if [ "$md5sum" != "$old_md5sum" ]; then
35             echo "Obsolete conffile $CONFFILE has been modified by you."
36             echo "Saving as $CONFFILE.dpkg-bak ..."
37             mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
38         fi
39     fi
40 }
41
42 case "$1" in
43    install|upgrade)
44         for cmd in $TO_DIVERT1; do
45             divert_gen $cmd /etc/init.d
46         done
47
48         # Remove files we no longer ship
49         undivert_gen "kismet.conf" /etc/kismet
50         undivert_gen "wlan-ng.conf" /etc/pcmcia
51         undivert_gen "smb.conf" /etc/samba
52
53         # move files from package grml-etc to grml-etc-core
54         for file in /etc/zsh/zlogin /etc/zsh/zprofile /etc/zsh/zshenv /etc/zsh/zshrc \
55                     /etc/zsh/zshrc  /etc/zsh/zlogout  /etc/vim/vimrc ; do
56             if dpkg-divert --list $file | grep -q 'grml-etc$' ; then
57                rm_conffile $file
58                dpkg-divert --quiet --package grml-etc --remove --rename --divert $file.original $file
59             fi
60         done
61
62         if dpkg-divert --list /etc/skel/.zshrc | grep -q 'grml-etc$' ; then
63            [ -f /etc/skel/.zshrc.original ] && rm /etc/skel/.zshrc
64            dpkg-divert --quiet --package grml-etc --remove --rename --divert /etc/skel/.zshrc.original /etc/skel/.zshrc
65         fi
66
67      ;;
68    *)
69      echo "preinst called with unknown argument $1" >&2
70      exit 1
71 esac
72
73 #DEBHELPER#
74
75 exit 0
76
77 ## END OF FILE #################################################################