summary refs log tree commit diff
path: root/debian/network-manager.preinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/network-manager.preinst')
-rw-r--r--debian/network-manager.preinst64
1 files changed, 64 insertions, 0 deletions
diff --git a/debian/network-manager.preinst b/debian/network-manager.preinst
new file mode 100644
index 00000000..60db6ae0
--- /dev/null
+++ b/debian/network-manager.preinst
@@ -0,0 +1,64 @@
+#!/bin/sh -e
+# This script can be called in the following ways:
+#
+# Before the package is installed:
+#	<new-preinst> install
+#
+# Before removed package is upgraded:
+#	<new-preinst> install <old-version>
+#
+# Before the package is upgraded:
+#	<new-preinst> upgrade <old-version>
+#
+#
+# If postrm fails during upgrade or fails on failed upgrade:
+#	<old-preinst> abort-upgrade <new-version>
+
+
+# Prepare to remove a no-longer used conffile
+prep_rm_conffile()
+{
+    CONFFILE="$1"
+
+    if [ -e "$CONFFILE" ]; then
+	md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
+	old_md5sum="`sed -n -e \"/^Conffiles:/,/^[^ ]/{\\\\' $CONFFILE '{s/ obsolete$//;s/.* //;p}}\" /var/lib/dpkg/status`"
+	if [ "$md5sum" != "$old_md5sum" ]; then
+	    echo "Obsolete conffile $CONFFILE has been modified by you, renaming to .dpkg-bak"
+	    mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
+	else
+	    mv -f "$CONFFILE" "$CONFFILE".dpkg-remove
+	fi
+    fi
+}
+
+
+case "$1" in
+    install)
+        ;;
+
+    upgrade)
+	# Upgrade from previous versions
+        if dpkg --compare-versions "$2" lt "0.6.4-8"; then
+	    if [ -x "/etc/dbus-1/event.d/25NetworkManager" ]; then
+		/etc/dbus-1/event.d/25NetworkManager stop   
+	    fi
+	    if [ -x "/etc/dbus-1/event.d/26NetworkManagerDispatcher" ]; then
+		/etc/dbus-1/event.d/26NetworkManagerDispatcher stop   
+	    fi
+	    prep_rm_conffile /etc/dbus-1/event.d/25NetworkManager
+	    prep_rm_conffile /etc/dbus-1/event.d/26NetworkManagerDispatcher
+	fi
+	;;
+
+    abort-upgrade)
+        ;;
+
+    *)
+        echo "$0 called with unknown argument \`$1'" 1>&2
+	exit 1
+	;;
+esac
+
+#DEBHELPER#
+exit 0