summaryrefslogtreecommitdiff
path: root/debian/bluez.preinst
blob: 337372924cb4728e07d5b32b573406de1d78283a (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 -e

# snippet from http://www.dpkg.org/dpkg/ConffileHandling

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

    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
            rm -f "$CONFFILE"
        fi
    fi
}

# 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-bak ..."
            mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
        else
            echo "Removing obsolete conffile $CONFFILE ..."
            rm -f "$CONFFILE"
        fi
    fi
}

case "$1" in
install|upgrade)
    if dpkg --compare-versions "$2" le "3.7-1"; then
        prep_mv_conffile "/etc/dbus-1/system.d/bluez-hcid.conf"
    fi

    if dpkg --compare-versions "$2" le "3.30-1"; then
        rm_conffile bluez-utils "/etc/bluetooth/network.service"
        rm_conffile bluez-utils "/etc/bluetooth/serial.service"
        rm_conffile bluez-utils "/etc/bluetooth/input.service"
    fi
    
    # now that modprobe whines remove this old conffile, will be
    # http://bugs.debian.org/523050
    base="/etc/modprobe.d/bluez"
    rm_conffile bluez "$base"
    if [ -e "$base.dpkg-bak" ]; then
        if [ -e "$base.conf" ]; then
            echo "$base.conf exists, not touching"
        else
            echo "Moving $base.dpkg-bak to $base.conf"
            mv -f "$base.dpkg-bak" "$base.conf"
        fi
    fi

    if dpkg --compare-versions "$2" le "4.45-1"; then
        rm_conffile bluez "/etc/default/bluetooth"
    fi
esac

#DEBHELPER#