1
0
Просмотр исходного кода

display Starting/Stopping service only when its enabler var is not NO

also, show only the basename and do not leak rcquiet to child env
Thorsten Glaser 12 лет назад
Родитель
Сommit
b02bbc72e9
2 измененных файлов с 36 добавлено и 8 удалено
  1. 18 4
      package/base-files/src/etc/init.d/rcK
  2. 18 4
      package/base-files/src/etc/init.d/rcS

+ 18 - 4
package/base-files/src/etc/init.d/rcK

@@ -1,18 +1,32 @@
 #!/bin/sh
 #!/bin/sh
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin
 : ${rcquiet=0}
 : ${rcquiet=0}
+if test x"$rcquiet" = x"0" && sh -n /etc/rc.conf >/dev/null 2>&1; then
+	. /etc/rc.conf
+	unset rcquiet
+	rcquiet=0
+else
+	unset rcquiet
+	rcquiet=1
+fi
 {
 {
 	grep '^#INIT ' /etc/init.d/* | \
 	grep '^#INIT ' /etc/init.d/* | \
 	    sort -rnk2 | \
 	    sort -rnk2 | \
 	    while read line; do
 	    while read line; do
-		test x"$rcquiet" = x"0" && echo -n "Stopping ${line%%:*}... "
+		rcenabled=NO
+		rcname=${line%%:*}
+		rcname=${rcname##*/}
+		test x"$rcquiet" = x"0" && eval 'rcenabled=${'"${rcname}"':-NO}'
+		test x"$rcenabled" = x"NO" || echo -n "Stopping ${rcname}... "
 		sh ${line%%:*} autostop
 		sh ${line%%:*} autostop
 		rc=$?
 		rc=$?
-		case $rcquiet:$rc in
-		(0:0)
+		case $rcenabled:$rc in
+		(NO:*)
+			;;
+		(*:0)
 			echo done.
 			echo done.
 			;;
 			;;
-		(0:*)
+		(*:*)
 			echo "failed ($rc)."
 			echo "failed ($rc)."
 			;;
 			;;
 		esac
 		esac

+ 18 - 4
package/base-files/src/etc/init.d/rcS

@@ -7,18 +7,32 @@ ln -s /proc/self/fd/2 /dev/stderr
 echo "System initialization ..."
 echo "System initialization ..."
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin
 : ${rcquiet=0}
 : ${rcquiet=0}
+if test x"$rcquiet" = x"0" && sh -n /etc/rc.conf >/dev/null 2>&1; then
+	. /etc/rc.conf
+	unset rcquiet
+	rcquiet=0
+else
+	unset rcquiet
+	rcquiet=1
+fi
 {
 {
 	grep '^#INIT ' /etc/init.d/* | \
 	grep '^#INIT ' /etc/init.d/* | \
 	    sort -nk2 | \
 	    sort -nk2 | \
 	    while read line; do
 	    while read line; do
-		test x"$rcquiet" = x"0" && echo -n "Starting ${line%%:*}... "
+		rcenabled=NO
+		rcname=${line%%:*}
+		rcname=${rcname##*/}
+		test x"$rcquiet" = x"0" && eval 'rcenabled=${'"${rcname}"':-NO}'
+		test x"$rcenabled" = x"NO" || echo -n "Starting ${rcname}... "
 		sh ${line%%:*} autostart
 		sh ${line%%:*} autostart
 		rc=$?
 		rc=$?
-		case $rcquiet:$rc in
-		(0:0)
+		case $rcenabled:$rc in
+		(NO:*)
+			;;
+		(*:0)
 			echo done.
 			echo done.
 			;;
 			;;
-		(0:*)
+		(*:*)
 			echo "failed ($rc)."
 			echo "failed ($rc)."
 			;;
 			;;
 		esac
 		esac