summaryrefslogtreecommitdiff
path: root/debian/schroot.preinst
blob: 7a2da2d9dad9fa243b8f58a810177b5faf3dfbc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#! /bin/sh
# preinst script for schroot
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <new-preinst> `install'
#        * <new-preinst> `install' <old-version>
#        * <new-preinst> `upgrade' <old-version>
#        * <old-preinst> `abort-upgrade' <new-version>

# Remove a no-longer used conffile
rm_conffile() {
    PKGNAME="$1"
    CONFFILE="$2"

    if [ -e "$CONFFILE" ]; then
        md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
        old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | 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-old ..."
            mv -f "$CONFFILE" "$CONFFILE".dpkg-old
        else
            echo "Removing obsolete conffile $CONFFILE ..."
            rm -f "$CONFFILE"
        fi
    fi
}

# Prepare to move a conffile without triggering a dpkg question
prep_mv_conffile() {
    PACKAGE="$1"
    CONFFILE="$2"

    if [ -e "$CONFFILE" ]; then
        md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
        old_md5sum="`dpkg-query -W -f='${Conffiles}' $PACKAGE | sed -n -e \"\\\\' $CONFFILE'{s/.* //;p}\"`"
        if [ "$md5sum" = "$old_md5sum" ]; then
            rm -f "$CONFFILE"
        fi
    fi
}

case "$1" in
install|upgrade)
    if dpkg --compare-versions "$2" le "1.1.6-1"; then
         rm_conffile "schroot" "/etc/schroot/setup.d/20network"
         rm_conffile "schroot" "/etc/schroot/setup.d/30passwd"
    fi
    if dpkg --compare-versions "$2" le "1.4.0-1"; then
         rm_conffile "schroot" "/etc/schroot/script-defaults"
         rm_conffile "schroot" "/etc/schroot/mount-defaults"
         rm_conffile "schroot" "/etc/schroot/copyfiles-defaults"
         rm_conffile "schroot" "/etc/schroot/nssdatabases-defaults"
    fi
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0