Date: Sun, 22 Dec 2002 17:30:49 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Mike Makonnen <mtm@identd.net> Cc: jake@locore.ca, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/etc rc.diskless1 Message-ID: <200212230130.gBN1UnHG033982@apollo.backplane.com> References: <20021222134047.51723c7c.mtm@identd.net> <200212222226.gBMMQQSu033211@apollo.backplane.com> <20021223005643.GA34206@matrix.identd.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Here's a patch to get rid of the rc variable pollution once and for all.
-Matt
Index: rc
===================================================================
RCS file: /home/ncvs/src/etc/rc,v
retrieving revision 1.325
diff -u -r1.325 rc
--- rc 22 Dec 2002 22:18:41 -0000 1.325
+++ rc 23 Dec 2002 01:29:25 -0000
@@ -50,20 +50,41 @@
PATH=/sbin:/bin:/usr/sbin:/usr/bin
export HOME PATH
-# If there is a global system configuration file, suck it in.
-# XXX - The only purpose of duplicating it here is to catch rc_ng="YES"
+# check_rcng() is run in a subshell solely to determine the
+# RCNG mode. We do not want to pollute our variable space
+# too soon so the procedure must be run in a subshell. An
+# exit code of 3 indicates RCNG is enabled.
#
-if [ -r /etc/defaults/rc.conf ]; then
- . /etc/defaults/rc.conf
- source_rc_confs
-elif [ -r /etc/rc.conf ]; then
- . /etc/rc.conf
-fi
+check_rcng()
+{
+ if [ -r /etc/defaults/rc.conf ]; then
+ . /etc/defaults/rc.conf
+ source_rc_confs
+ elif [ -r /etc/rc.conf ]; then
+ . /etc/rc.conf
+ fi
-# Diskless setups have to depend on a different mechanism since
-# their config files haven't been retargeted yet.
-#
-[ -e /.rcng_yes ] && rc_ng="YES"
+ # Diskless setups have to depend on a different mechanism since
+ # their config files haven't been retargeted yet.
+ #
+ [ -e /.rcng_yes ] && rc_ng="YES"
+ case ${rc_ng} in
+ [Yy][Ee][Ss])
+ exit 3
+ ;;
+ *)
+ exit 0
+ ;;
+ esac
+}
+
+( check_rcng )
+if [ $? = 3 ]; then
+ rc_ng=YES
+else
+ rc_ng=NO
+fi
+/bin/sh
case ${rc_ng} in
[Yy][Ee][Ss])
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212230130.gBN1UnHG033982>
