X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=debian%2Fpreinst;h=ba60baa21e79e9cf91a91a185f4422b545f894a8;hb=b70a2698d6b4b8999ff74495a21ce12b8829a15d;hp=c3eacbfd44010131997a5cfb0c35b65c44f4d46a;hpb=d974c90d53966c122d5c468aaf805f7aaf89f43f;p=grml-etc.git diff --git a/debian/preinst b/debian/preinst index c3eacbf..ba60baa 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 @@ -38,21 +39,29 @@ rm_conffile() { case "$1" in install|upgrade) - for cmd in $TO_DIVERT1; do - divert_gen $cmd /etc/mgetty - done + if [ -r /etc/mgetty/login.config ] ; then + for cmd in $TO_DIVERT1; do + divert_gen $cmd /etc/mgetty + done + fi for cmd in $TO_DIVERT2; do - divert_gen $cmd /etc/init.d - done - for cmd in $TO_DIVERT3; do - divert_gen $cmd /etc/kismet - done - for cmd in $TO_DIVERT4; do - divert_gen $cmd /etc/pcmcia - done - for cmd in $TO_DIVERT5; do - divert_gen $cmd /etc/X11/windowlab + divert_gen $cmd /etc/init.d done + if [ -d /etc/kismet ] ; then + for cmd in $TO_DIVERT3; do + divert_gen $cmd /etc/kismet + done + fi + if [ -d /etc/pcmcia ] ; then + for cmd in $TO_DIVERT4; do + divert_gen $cmd /etc/pcmcia + done + fi + if [ -d /etc/X11/windowlab ] ; then + for cmd in $TO_DIVERT5; do + divert_gen $cmd /etc/X11/windowlab + done + fi # did I mention that dpkg-divert sucks? if [ -n "$2" ] ; then @@ -78,6 +87,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