summaryrefslogtreecommitdiff
path: root/debian/network-manager.postinst
blob: 8021d9e7fedf1186045046c28ba47edbb5834a1c (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
#!/bin/sh

set -e

# This script can be called in the following ways:
#
# After the package was installed:
#	<postinst> configure <old-version>
#
#
# If prerm fails during upgrade or fails on failed upgrade:
#	<old-postinst> abort-upgrade <new-version>
#
# If prerm fails during deconfiguration of a package:
#	<postinst> abort-deconfigure in-favour <new-package> <version>
#	           removing <old-package> <version>
#
# If prerm fails during replacement due to conflict:
#	<postinst> abort-remove in-favour <new-package> <version>

case "$1" in
    configure)
	# When upgrading from a version that was using an Alias= instead of
	# symlink to mask the LSB initscript, if we are running systemd and
	# NetworkManager has been started by the LSB script, kill the process
	# before we are restarting it. (See: #734460)
	if dpkg --compare-versions "$2" lt-nl "0.9.8.8-2~"; then
	    if [ -d /run/systemd/system ] && \
	      [ -f /var/run/NetworkManager/NetworkManager.pid ]; then
	        start-stop-daemon --stop --retry 5 --quiet --exec /usr/sbin/NetworkManager \
		  --pidfile /var/run/NetworkManager/NetworkManager.pid || true
	    fi
	fi

        # Create netdev group that is used in the D-Bus policy file
        addgroup --quiet --system netdev

        if [ -x "/etc/init.d/dbus" ]; then
            invoke-rc.d dbus force-reload || true
        fi

        NIF=/etc/network/interfaces
        if [ -z "$2" ] && [ -f $NIF ]; then
            ifaces=`grep -v '^#' $NIF | awk '/iface/ {print $2}' | sort -u | sed -e 's/lo//' -e '/^$/d' -e 's/^/- /'`
            if [ -n "$ifaces" ]; then
                echo "" 1>&2
                echo "The following network interfaces were found in $NIF" 1>&2
                echo "which means they are currently configured by ifupdown:" 1>&2
                echo "$ifaces" 1>&2
                echo "If you want to manage those interfaces with NetworkManager instead" 1>&2
                echo "remove their configuration from $NIF." 1>&2
                echo "" 1>&2
            fi
        fi
        ;;

    abort-upgrade|abort-deconfigure|abort-remove)
        ;;

    *)
        echo "$0 called with unknown argument \`$1'" 1>&2
        exit 1
        ;;
esac

#DEBHELPER#