[Initscripts-ng-commits] r132 -
/trunk/src/insserv/debian/insserv.postinst
pere at users.alioth.debian.org
pere at users.alioth.debian.org
Thu Sep 7 11:26:43 UTC 2006
Author: pere
Date: Thu Sep 7 11:26:42 2006
New Revision: 132
URL: http://svn.debian.org/wsvn/initscripts-ng/?sc=1&rev=132
Log:
Add code to divert update-rc.d.
Modified:
trunk/src/insserv/debian/insserv.postinst
Modified: trunk/src/insserv/debian/insserv.postinst
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/insserv.postinst?rev=132&op=diff
==============================================================================
--- trunk/src/insserv/debian/insserv.postinst (original)
+++ trunk/src/insserv/debian/insserv.postinst Thu Sep 7 11:26:42 2006
@@ -5,24 +5,53 @@
. /usr/share/debconf/confmodule
flagfile=/etc/update-rc.d-insserv
+package=insserv
+
+# Based on code from dash postinst
+check_divert() {
+ div=$(dpkg-divert --list $2)
+ distrib=${4:-$2.distrib}
+ case "$1" in
+ true)
+ if [ -z "$div" ]; then
+ dpkg-divert --package $package --divert $distrib --add $2
+ cp -dp $2 $distrib
+ ln -sf $3 $2
+ fi
+ ;;
+ false)
+ if [ -n "$div" ] && [ -z "${div%%*by $package}" ]; then
+ mv $distrib $2
+ dpkg-divert --remove $2
+ fi
+ ;;
+ esac
+}
+
+
case "$1" in
configure)
db_get insserv/enable || true
- if [ "$RET" = true ] ; then # Make sure it is enabled
+ if [ true = "$RET" ] && [ ! -f $flagfile ]; then
+ # Enable it, as it was not enabled already
- # Reorder the boot sequence
+ # Reorder the boot sequence, and divert if it worked
if update-bootsystem-insserv ; then
: # All OK
echo "success: Boot system successfully converted"
touch $flagfile
+
+ # Divert update-rc.d to update-rc.d-insserv
+ check_divert true /usr/sbin/update-rc.d \
+ /usr/sbin/update-rc.d-insserv
else
echo "error: Unable to enable dependency based boot system."
fi
-
- # Divert update-rc.d to update-rc.d-insserv
- elif [ -f $flagfile ] ; then # Disable it
+ elif [ true != "$RET" ] && [ -f $flagfile ] ; then # Disable it
# Undo divert
+ check_divert false /usr/sbin/update-rc.d \
+ /usr/sbin/update-rc.d-insserv
# Revert to old boot order if possible
update-bootsystem-insserv remove
More information about the Initscripts-ng-commits
mailing list