summaryrefslogtreecommitdiff
path: root/waterfox/debian/waterfox.postinst
blob: 3418f399f05af16506b63ae87b338d5b96beb59a (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/bin/sh

set -e

MOZ_LIBDIR=/usr/lib/waterfox
MOZ_APP_NAME=waterfox
MOZ_PKG_NAME=waterfox

# Move a conffile without triggering a dpkg question
finish_mv_conffile() {
    local OLDCONFFILE="$1"
    local NEWCONFFILE="$2"

    rm -f $OLDCONFFILE.dpkg-remove

    [ -e "$OLDCONFFILE" ] || return 0

    echo "Preserving user changes to $NEWCONFFILE (renamed from $OLDCONFFILE)..."
    mv -f "$NEWCONFFILE" "$NEWCONFFILE.dpkg-new"
    mv -f "$OLDCONFFILE" "$NEWCONFFILE"
}

finish_rm_conffile() {
    local CONFFILE="$1"

    if [ -e "$CONFFILE.dpkg-backup" ]; then
        mv -f "$CONFFILE.dpkg-backup" "$CONFFILE.dpkg-bak"
    fi
    if [ -e "$CONFFILE.dpkg-remove" ]; then
        echo "Removing obsolete conffile $CONFFILE ..."
        rm -f "$CONFFILE.dpkg-remove"
    fi
}

if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-remove" ] ; then
    update-alternatives --install /usr/bin/gnome-www-browser \
        gnome-www-browser /usr/bin/$MOZ_APP_NAME 40

    update-alternatives --install /usr/bin/x-www-browser \
        x-www-browser /usr/bin/$MOZ_APP_NAME 40

    . /usr/share/debconf/confmodule
    db_get waterfox/locales
fi

if [ "$1" = "configure" ] ; then
    #
    # AppArmor
    #
    APP_PROFILE="/etc/apparmor.d/usr.bin.$MOZ_PKG_NAME"
    if [ -f "$APP_PROFILE" ]; then
        # Setup the extra include files
        # Add the local/ include
        LOCAL_APP_PROFILE="/etc/apparmor.d/local/usr.bin.$MOZ_PKG_NAME"
        test -e "$LOCAL_APP_PROFILE" || {
            tmp=`mktemp`
            cat <<EOM > "$tmp"
# Site-specific additions and overrides for usr.bin.waterfox
# For more details, please see /etc/apparmor.d/local/README.
EOM
            mkdir `dirname $LOCAL_APP_PROFILE` 2>/dev/null || true
            mv -f "$tmp" "$LOCAL_APP_PROFILE"
            chmod 644 "$LOCAL_APP_PROFILE"
        }

        # Add the addons include
        ADDONS_APP_PROFILE="/etc/apparmor.d/abstractions/ubuntu-browsers.d/$MOZ_PKG_NAME"
        test -e "$ADDONS_APP_PROFILE" || {
            tmp=`mktemp`
            cat <<EOM > "$tmp"
# This file is updated by 'aa-update-browser' and may be overwritten on
# upgrades.
#
# For site-specific adjustments, please see /etc/apparmor.d/local/<binary>

#include <abstractions/ubuntu-browsers.d/plugins-common>
#include <abstractions/ubuntu-browsers.d/mailto>
#include <abstractions/ubuntu-browsers.d/multimedia>
#include <abstractions/ubuntu-browsers.d/productivity>
#include <abstractions/ubuntu-browsers.d/java>
#include <abstractions/ubuntu-browsers.d/kde>
#include <abstractions/ubuntu-browsers.d/text-editors>
#include <abstractions/ubuntu-browsers.d/ubuntu-integration>
#include <abstractions/ubuntu-browsers.d/user-files>
EOM
            mkdir -p `dirname $ADDONS_APP_PROFILE` 2>/dev/null || true
            mv -f "$tmp" "$ADDONS_APP_PROFILE"
            chmod 644 "$ADDONS_APP_PROFILE"
        }

        # Reload AppArmor profile
        DISABLE_APP_PROFILE="/etc/apparmor.d/disable/usr.bin.$MOZ_PKG_NAME"
        if [ ! -f "$DISABLE_APP_PROFILE" ] && aa-status --enabled 2>/dev/null; then
            apparmor_parser -r -T -W "$APP_PROFILE" || true
        fi
    fi
    #
    # End AppArmor
    #

    finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/bookmarks.html"
    finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/localstore.rdf"
    finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/mimeTypes.rdf"
    finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/prefs.js"
    finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/chrome/userChrome-example.css"
    finish_rm_conffile "/etc/${MOZ_PKG_NAME}/profile/chrome/userContent-example.css"

    finish_mv_conffile "/etc/${MOZ_PKG_NAME}/pref/waterfox.js" "/etc/${MOZ_PKG_NAME}/syspref.js"
fi

echo "Please restart all running instances of $MOZ_APP_NAME, or you will experience problems."

if [ -d /var/run ] ; then
    touch /var/run/$MOZ_APP_NAME-restart-required
fi
#DEBHELPER#
bgstack15