#!/bin/sh # Filename: preinst # Purpose: preinst script for package grml-etc # Authors: grml-team (grml.org), (c) Michael Prokop # 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" TO_DIVERT2="kismet.conf" TO_DIVERT3="wlan-ng.conf" divert_gen() { DEXT=${3:-original} dpkg-divert --add --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 for cmd in $TO_DIVERT2; do divert_gen $cmd /etc/kismet done for cmd in $TO_DIVERT3; do divert_gen $cmd /etc/pcmcia done # did I mention that dpkg-divert sucks? if [ -n "$2" ] ; then if dpkg --compare-versions "${2}" lt 0.8 ; then if dpkg-divert --list | grep -q /etc/init.d/postgresql-8.0 ; then rm -f /etc/init.d/postgresql-8.0 dpkg-divert --quiet --package grml-etc --remove --rename --divert /etc/init.d/postgresql-8.0.original /etc/init.d/postgresql-8.0 fi fi fi # 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 if dpkg-divert --list /etc/samba/smb.conf | grep -q 'grml-etc$' ; then [ -f /etc/samba/smb.conf.original ] && rm /etc/samba/smb.conf.original dpkg-divert --quiet --package grml-etc --remove --rename --divert /etc/samba/smb.conf.original /etc/samba/smb.conf fi ;; *) echo "preinst called with unknown argument $1" >&2 exit 1 esac #DEBHELPER# exit 0 ## END OF FILE #################################################################