[Lunar-commits] CVS: moonbase/utils/sysvinit/init.d rc,1.1.1.1,1.2

Auke Kok sofar at lunar-linux.org
Sun May 23 12:38:24 GMT 2004


Update of /var/cvs/lunar/moonbase/utils/sysvinit/init.d
In directory dbguin.lunar-linux.org:/tmp/cvs-serv31924

Modified Files:
	rc 
Log Message:
-rwxr-xr-x  1 root root 778 Apr 23  2003 /etc/init.d/rc

I wrote this rc script in april last year. Unfortunately I should have
committed it way way way before, since what we have now is a disgrace
for an rc script, since it doesn't even support switching between say
level 3 and 5 properly. This one does


Index: rc
===================================================================
RCS file: /var/cvs/lunar/moonbase/utils/sysvinit/init.d/rc,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- rc	21 Aug 2002 00:55:22 -0000	1.1.1.1
+++ rc	23 May 2004 12:38:22 -0000	1.2
@@ -1,21 +1,33 @@
-#!/bin/sh
+#!/bin/bash
+#
+# /etc/init.d/rc script, supports switching back and forth runlevels
+# -sofar
+#
 
-PATH1="/sbin:/usr/sbin:/usr/local/sbin"
-PATH2="/bin:/usr/bin:/usr/local/bin"
-PATH3="/usr/games:/usr/local/games"
-PATH4="/usr/bin/X11:."
- PATH="$PATH1:$PATH2:$PATH3:$PATH4"
+umask 022
+trap ":" INT QUIT TSTP
 
-export  PATH
-umask   022
-trap    ":" INT QUIT TSTP
+echo "Init: leaving runlevel $PREVLEVEL"
 
-RUNLEVEL=$1
+if [ "$PREVLEVEL" != "N" ] ; then
+  for SCRIPT in /etc/rc$RUNLEVEL.d/K* ; do
+    BASENAME=${SCRIPT:14}
+    [ ! -e /etc/rc$PREVLEVEL.d/K??$BASENAME ]  &&
+      [ -h /etc/rc$RUNLEVEL.d/K??$BASENAME  ]  &&
+      [ -e /etc/init.d/$BASENAME            ]  &&
+      /etc/init.d/$BASENAME stop
+  done
+fi
 
-for  SCRIPT  in  /etc/rc$RUNLEVEL.d/K*;  do
-  [  -x  $SCRIPT  ]  &&  $SCRIPT  stop
-done
+echo "Init: leaving runlevel $PREVLEVEL complete, entering runlevel $RUNLEVEL"
 
-for  SCRIPT  in  /etc/rc$RUNLEVEL.d/S*;  do
-  [  -x  $SCRIPT  ]  &&  $SCRIPT  start
+for SCRIPT in /etc/rc$RUNLEVEL.d/S* ; do
+  BASENAME=${SCRIPT:14}
+  [ ! -e /etc/rc$PREVLEVEL.d/S??$BASENAME ]  &&
+    [ -h /etc/rc$RUNLEVEL.d/S??$BASENAME  ]  &&
+    [ -e /etc/init.d/$BASENAME            ]  &&
+    /etc/init.d/$BASENAME start
 done
+
+echo "Init: entering runlevel $RUNLEVEL complete"
+



More information about the Lunar-commits mailing list