9a6206f4d2589405222212bb1bc33a01e0d7d736
[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                # [ -e "$file".dpkg-new ] && cp -f "$file".dpkg-new "${file}.tmp.$TMP"
32                backup_conffile $file && \
33                [ -f "$file" ] && rm $file && \
34                dpkg-divert --quiet --add --rename --package grml-etc-core --divert "$file".original $file  && \
35                [ -f "$file".dpkg-bak ]      && mv -f "$file".dpkg-bak "$file"
36                [ -f "$file".grml-etc-core ] && mv -f "$file".grml-etc-core "$file"
37                [ -e "${file}.tmp.$TMP" ]      && mv -f "${file}.tmp.$TMP" "$file.original"
38
39                # trying to overwrite `/etc/skel/.zshrc', which is also in package zsh
40                # [ -f /etc/skel/.zshrc ] && \
41                # dpkg-divert --quiet --add --rename --package grml-etc-core --divert /etc/skel/.zshrc.original /etc/skel/.zshrc
42         done
43
44         if dpkg-divert --list grml-etc-core 2>/dev/null | grep -q /etc/skel/.zshrc.original ; then
45            mv -f /etc/skel/.zshrc.original /etc/skel/.zshrc.original.old && \
46            dpkg-divert --remove --rename --package grml-etc-core /etc/skel/.zshrc
47         fi
48
49      ;;
50    *)
51      echo "preinst called with unknown argument $1" >&2
52      exit 1
53 esac
54
55 exit 0
56
57 ## END OF FILE #################################################################