#!/bin/sh
# Filename:      preinst
# Purpose:       preinst script for package grml-etc
# Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports:   see http://grml.org/bugs/
# License:       This file is licensed under the GPL v2.
# Latest change: Mon Feb 04 15:32:00 CET 2008 [mika]
################################################################################

set -e

TO_DIVERT1="ssh"

divert_gen() {
    DEXT=${3:-original}
    dpkg-divert --add --rename --package grml-etc \
        --divert $2/$1.$DEXT $2/$1 > /dev/null
}

undivert_gen() {
    DEXT=${3:-original}
    dpkg-divert --remove --rename --package grml-etc \
        --divert $2/$1.$DEXT $2/$1 #> /dev/null
}

# move files from package grml-etc to grml-etc-core
# and make sure we do not lose any files...
rm_conffile() {
    CONFFILE="$1"

    if [ -e "$CONFFILE" ]; then
        md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
        old_md5sum="`dpkg-query -W -f='${Conffiles}' grml-etc | 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
        fi
    fi
}

case "$1" in
   install|upgrade)
        for cmd in $TO_DIVERT1; do
            divert_gen $cmd /etc/init.d
        done

        # Remove files we no longer ship
        undivert_gen "kismet.conf" /etc/kismet
        undivert_gen "wlan-ng.conf" /etc/pcmcia
        undivert_gen "smb.conf" /etc/samba

        # move files from package grml-etc to grml-etc-core
        for file in /etc/zsh/zlogin /etc/zsh/zprofile /etc/zsh/zshenv /etc/zsh/zshrc \
                    /etc/zsh/zshrc  /etc/zsh/zlogout  /etc/vim/vimrc ; do
            if dpkg-divert --list $file | grep -q 'grml-etc$' ; then
               rm_conffile $file
               dpkg-divert --quiet --package grml-etc --remove --rename --divert $file.original $file
            fi
        done

        if dpkg-divert --list /etc/skel/.zshrc | grep -q 'grml-etc$' ; then
           [ -f /etc/skel/.zshrc.original ] && rm /etc/skel/.zshrc
           dpkg-divert --quiet --package grml-etc --remove --rename --divert /etc/skel/.zshrc.original /etc/skel/.zshrc
        fi

     ;;
   *)
     echo "preinst called with unknown argument $1" >&2
     exit 1
esac

#DEBHELPER#

exit 0

## END OF FILE #################################################################
