about summary refs log tree commit diff
path: root/debian/network-manager.postinst
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2010-11-29 00:48:02 +0100
committerMichael Biebl <biebl@debian.org>2010-11-29 00:48:02 +0100
commite2123f8ef48519892659c90f64f588a7b24069ee (patch)
treef87005bd6dc2a3edc6db3dd7b0ebdb05fdb17265 /debian/network-manager.postinst
parent9fae01fa351805b2903e535736e06971bc0b925e (diff)
parenta38c18be91a727db6daf6055a2ed7996f148c8aa (diff)
Merge remote branch 'svn/master'
Diffstat (limited to 'debian/network-manager.postinst')
-rw-r--r--debian/network-manager.postinst86
1 files changed, 86 insertions, 0 deletions
diff --git a/debian/network-manager.postinst b/debian/network-manager.postinst
new file mode 100644
index 00000000..6ef57ff7
--- /dev/null
+++ b/debian/network-manager.postinst
@@ -0,0 +1,86 @@
+#!/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>
+
+# Move a conffile without triggering a dpkg question
+mv_conffile() {
+    local OLDCONFFILE="$1"
+    local NEWCONFFILE="$2"
+
+    [ -e "$OLDCONFFILE" ] || return 0
+
+    echo "Preserving user changes to $NEWCONFFILE ..."
+    mv -f "$NEWCONFFILE" "$NEWCONFFILE".dpkg-new
+    mv -f "$OLDCONFFILE" "$NEWCONFFILE"
+}
+
+case "$1" in
+    configure)
+
+        if ! getent group netdev > /dev/null; then
+            addgroup --quiet --system netdev
+        fi
+
+        if [ -x "/etc/init.d/dbus" ]; then
+            invoke-rc.d dbus force-reload || true
+        fi
+
+        # Stop the service on upgrades before it is started again.
+        # dh_installinit -r will create the start code.
+        if [ -n "$2" ]; then
+            if [ -x "/etc/init.d/network-manager" ]; then
+                invoke-rc.d network-manager stop || true
+            fi
+        fi
+
+        # Update init script priorities
+        if dpkg --compare-versions "$2" lt "0.7.0.99-1"; then
+            for i in 0 1 6 ; do
+                if [ -e /etc/rc$i.d/K14network-manager ]; then
+                    mv /etc/rc$i.d/K14network-manager /etc/rc$i.d/K88network-manager
+                fi
+            done
+        fi
+
+        # Kill nm-system-settings service as in 0.8 it is no longer a separate process
+        if dpkg --compare-versions "$2" lt "0.7.999-1"; then
+            kill `pidof /usr/sbin/nm-system-settings` 2>/dev/null || true
+        fi
+
+        if dpkg --compare-versions "$2" lt "0.8.1-2"; then
+            mv_conffile "/etc/NetworkManager/nm-system-settings.conf" "/etc/NetworkManager/NetworkManager.conf"
+        fi
+
+        if [ -z "$2" ] || dpkg --compare-versions "$2" lt-nl "0.8.1-4"; then
+            echo "Disabling interfaces configured with plain DHCP in /etc/network/interfaces so that NetworkManager can take them over"
+            /usr/lib/NetworkManager/ifblacklist_migrate.sh
+        fi
+        ;;
+
+    abort-upgrade|abort-deconfigure|abort-remove)
+        ;;
+
+    *)
+        echo "$0 called with unknown argument \`$1'" 1>&2
+        exit 1
+        ;;
+esac
+
+#DEBHELPER#
+