Release new version 0.19.7
[grml-etc-core.git] / debian / preinst
1 #!/bin/sh
2 # Filename:      preinst
3 # Purpose:       preinst script for package grml-etc-core
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 ################################################################################
8
9 set -e
10
11 # check for files from rm_conffile() in debian/preinst of grml-etc
12 # make sure we don't lose any files...
13 backup_conffile() {
14     CONFFILE="$1"
15
16     if [ -e "$CONFFILE.dpkg-bak" -a -e "$CONFFILE" ]; then
17        cp -f "$CONFFILE" "$CONFFILE".original
18     else
19        [ -e "$CONFFILE" ] && cp -f "$CONFFILE" "$CONFFILE".grml-etc-core || true
20     fi
21 }
22
23 case "$1" in
24     install|upgrade|configure)
25         TMP=$$
26         # move files from package grml-etc to grml-etc-core, make sure
27         # we don't lose any files...
28         for file in /etc/zsh/zlogin /etc/zsh/zprofile /etc/zsh/zshenv /etc/zsh/zshrc \
29                     /etc/zsh/zlogout /etc/vim/vimrc /etc/tmux.conf; do
30              [ -e "$file".original ] || cp -f "$file" "${file}.tmp.$TMP" 2>/dev/null || true
31              backup_conffile $file && \
32              [ -f "$file" ] && rm $file && \
33              dpkg-divert --quiet --add --rename --package grml-etc-core --divert "$file".original $file  && \
34              [ -f "$file".dpkg-bak ]      && mv -f "$file".dpkg-bak "$file"
35              [ -f "$file".grml-etc-core ] && mv -f "$file".grml-etc-core "$file"
36              [ -e "${file}.tmp.$TMP" ]      && mv -f "${file}.tmp.$TMP" "$file.original"
37
38              # trying to overwrite `/etc/skel/.zshrc', which is also in package zsh
39              # [ -f /etc/skel/.zshrc ] && \
40              # dpkg-divert --quiet --add --rename --package grml-etc-core --divert /etc/skel/.zshrc.original /etc/skel/.zshrc
41         done
42
43         if dpkg-divert --list grml-etc-core 2>/dev/null | grep -q /etc/skel/.zshrc.original ; then
44             mv -f /etc/skel/.zshrc.original /etc/skel/.zshrc.original.old && \
45             dpkg-divert --remove --rename --package grml-etc-core /etc/skel/.zshrc
46         fi
47
48     ;;
49     *)
50         echo "preinst called with unknown argument $1" >&2
51         exit 1
52 esac
53
54 exit 0
55
56 ## END OF FILE #################################################################