X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=debian%2Fpreinst;h=20e4b94ebd9a00f0c8dd10192290f67d858fcf68;hb=b51b10be4a300e04cc578dd60b147226cb57fd69;hp=aaebc30ddfda7e3d10d9c082e098af402fe17d80;hpb=f4935d003256e973d6f192c392750f077339154a;p=grml-etc.git diff --git a/debian/preinst b/debian/preinst index aaebc30..20e4b94 100755 --- a/debian/preinst +++ b/debian/preinst @@ -4,7 +4,7 @@ # 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: Don Nov 02 20:58:57 CET 2006 [mika] +# Latest change: Mon Feb 04 15:32:00 CET 2008 [mika] ################################################################################ set -e @@ -28,9 +28,10 @@ rm_conffile() { if [ -e "$CONFFILE" ]; then md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`" - old_md5sum="`sed -n -e \"/^Conffiles:/,/^[^ ]/{\\\\' $CONFFILE'{s/.* //;p}}\" /var/lib/dpkg/status`" + old_md5sum="`dpkg-query -W -f='${Conffiles}' grml-etc | sed -n -e \"\\\\' $CONFFILE'{s/ obsolete$//;s/.* //p}\"`" if [ "$md5sum" != "$old_md5sum" ]; then - echo "Conffile $CONFFILE has been modified, temporary moving to $CONFFILE.dpkg-bak ..." + echo "Obsolete conffile $CONFFILE has been modified by you." + echo "Saving as $CONFFILE.dpkg-bak ..." mv -f "$CONFFILE" "$CONFFILE".dpkg-bak fi fi @@ -39,19 +40,23 @@ rm_conffile() { case "$1" in install|upgrade) for cmd in $TO_DIVERT1; do - divert_gen $cmd /etc/mgetty + divert_gen $cmd /etc/mgetty done + for cmd in $TO_DIVERT2; do - divert_gen $cmd /etc/init.d + divert_gen $cmd /etc/init.d done + for cmd in $TO_DIVERT3; do - divert_gen $cmd /etc/kismet + divert_gen $cmd /etc/kismet done + for cmd in $TO_DIVERT4; do - divert_gen $cmd /etc/pcmcia + divert_gen $cmd /etc/pcmcia done + for cmd in $TO_DIVERT5; do - divert_gen $cmd /etc/X11/windowlab + divert_gen $cmd /etc/X11/windowlab done # did I mention that dpkg-divert sucks? @@ -64,9 +69,9 @@ case "$1" in fi fi - # move files from package grml-etc to grml-etc-core / remove them at all + # 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 /etc/samba/smb.conf ; do + /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 @@ -78,6 +83,11 @@ case "$1" in 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