about summary refs log tree commit diff
path: root/debian/network-manager.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/network-manager.postinst')
-rw-r--r--debian/network-manager.postinst68
1 files changed, 50 insertions, 18 deletions
diff --git a/debian/network-manager.postinst b/debian/network-manager.postinst
index 1e73dfa2..c2a445c7 100644
--- a/debian/network-manager.postinst
+++ b/debian/network-manager.postinst
@@ -1,27 +1,59 @@
-#!/bin/sh
+#!/bin/sh -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>
 
-set -e
 
-case "$1" in
-    	configure)
-		if ! getent group netdev > /dev/null; then
-			addgroup --quiet --system netdev
-		fi
+# Remove a no-longer used conffile
+rm_conffile()
+{
+    CONFFILE="$1"
+    
+    if [ -e "$CONFFILE".dpkg-remove ]; then
+	echo "Removing obsolete conffile $CONFFILE"
+	rm -f "$CONFFILE".dpkg-remove
+    fi
+}
+
 
-		if [ -x "/etc/init.d/dbus" ]; then
-			invoke-rc.d dbus force-reload || true
-		fi
+case "$1" in
+    configure)
+	# Upgrade from previous versions
+        if dpkg --compare-versions "$2" lt "0.6.4-8"; then
+	    rm_conffile /etc/dbus-1/event.d/25NetworkManager
+	    rm_conffile /etc/dbus-1/event.d/26NetworkManagerDispatcher
+	fi
 	
-		if [ -x "/etc/dbus-1/event.d/25NetworkManager" ]; then
-			/etc/dbus-1/event.d/25NetworkManager restart
-		fi
+	if ! getent group netdev > /dev/null; then
+	    addgroup --quiet --system netdev
+	fi
 	
-		if [ -x "/etc/dbus-1/event.d/26NetworkManagerDispatcher" ]; then
-			/etc/dbus-1/event.d/26NetworkManagerDispatcher restart
-		fi			 
-    	;;
+	if [ -x "/etc/init.d/dbus" ]; then
+	    invoke-rc.d dbus force-reload || true
+	fi
+	;;
+    
+    abort-upgrade|abort-deconfigure|abort-remove)
+	;;
+
+    *)
+        echo "$0 called with unknown argument \`$1'" 1>&2
+	exit 1
+	;;
 esac
 
 #DEBHELPER#
-
 exit 0
+