# This patch causes the postinst / prerm scripts to work with either
# /etc/inittab, or /etc/event.d (upstart).  In the latter case it creates a
# service called 'svscan'.

--- debian/postinst	2002-06-13 01:17:16.000000000 +0100
+++ debian/postinst	2007-06-02 10:24:25.288103000 +0100
@@ -13,6 +13,8 @@
 		update-rc.d -f daemontools remove || :
 	fi
 
+	if [ -f /etc/inittab ]
+	then
     if grep svscanboot /etc/inittab >/dev/null
     then
         echo 'inittab contains an svscanboot line. I assume that svscan is already running.'
@@ -24,6 +26,34 @@
         kill -HUP 1
         echo 'init should start svscan now.'
     fi
+	fi
+
+	if [ -d /etc/event.d ]
+	then
+		if [ -e /etc/event.d/svscan ]
+		then
+			echo /etc/event.d/svscan already exists
+		else
+			echo Creating /etc/event.d/svscan
+			cat <<'EOF' >/etc/event.d/svscan
+start on runlevel 2
+start on runlevel 3
+start on runlevel 4
+start on runlevel 5
+
+stop on runlevel 0
+stop on runlevel 1
+stop on runlevel 5
+stop on runlevel 6
+
+respawn
+exec /usr/bin/svscanboot
+EOF
+			chmod 644 /etc/event.d/svscan
+			initctl start svscan
+			echo 'init show start svscan now.'
+		fi
+	fi
     
     ;;
 
--- debian/prerm	2002-06-05 21:29:22.000000000 +0100
+++ debian/prerm	2007-06-02 10:28:33.252749000 +0100
@@ -4,11 +4,21 @@
 
 case "$1" in
     remove|disappear)
+
+	if [ -f /etc/inittab ]
+	then
 	# fix /etc/inittab
 	echo "Removing svscanboot from /etc/inittab.."
 	grep -v svscanboot /etc/inittab > /etc/inittab.'{new}'
 	[ -e /etc/inittab.'{new}' ] && mv -f /etc/inittab.'{new}' /etc/inittab
 	init q
+	fi
+
+	if [ -e /etc/event.d/svscan ]
+	then
+		initctl stop svscan
+		/bin/rm -f /etc/event.d/svscan
+	fi
 	;;
 
     upgrade|failed-upgrade|abort-install|abort-upgrade|disappear|purge)
