Date: Sun, 21 Mar 1999 18:06:41 -0800 From: "Jordan K. Hubbard" <jkh@zippy.cdrom.com> To: current@freebsd.org Subject: /etc/rc.conf, take 46! Message-ID: <39218.922068401@zippy.cdrom.com>
next in thread | raw e-mail | index | archive | help
OK, so it seems everyone's found something to like and dislike about
the new scheme. In that regard, it seems pretty much equivalent to
the previous layout when that was first introduced. :)
However, incremental refinement for this stuff has always been the
order of the day, so in that spirit, here's my proposal to deal with
the most recent set of gripes: That rc.conf contains "code" in
addition to data.
The following diffs make rc.conf a variable-only file, at the cost of
distributing the hook-calling mechanism into all the former clients of
rc.conf. That really doesn't bother me if it doesn't bother you, and
further optimization of it can always be another future incremental
refinement. Another incremental, albeit contraversial, refinement
would be to change /etc/defaults/rc.conf and friends into something
truely machine-parsable, changing statements like this:
if [ -f /some/conf/file ]; then
. /some/conf/file
fi
Into something like this:
if [ -f /some/conf/file ]; then
eval `/sbin/rcvtosh /some/conf/file`
fi
But these changes do not attempt to do that, they simply attempt to
make the existing rc.conf format somewhat easier to parse. Comments
requested.
Index: netstart
===================================================================
RCS file: /home/ncvs/src/etc/netstart,v
retrieving revision 1.53
diff -u -u -r1.53 netstart
--- netstart 1999/02/10 18:08:16 1.53
+++ netstart 1999/03/22 01:54:16
@@ -12,8 +12,11 @@
# If there is a global system configuration file, suck it in.
if [ -f /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
-elif [ -f /etc/rc.conf ]; then
- . /etc/rc.conf
+ for i in ${rc_conf_files}; do
+ if [ -f $i ]; then
+ . $i
+ fi
+ done
fi
if [ -f /etc/rc.network ]; then
Index: pccard_ether
===================================================================
RCS file: /home/ncvs/src/etc/pccard_ether,v
retrieving revision 1.11
diff -u -u -r1.11 pccard_ether
--- pccard_ether 1999/02/22 02:55:18 1.11
+++ pccard_ether 1999/03/22 01:55:27
@@ -7,11 +7,14 @@
# example: pccard_ether ep0 -link0
#
-# Suck in the configuration variables
+# If there is a global system configuration file, suck it in.
if [ -f /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
-elif [ -f /etc/rc.conf ]; then
- . /etc/rc.conf
+ for i in ${rc_conf_files}; do
+ if [ -f $i ]; then
+ . $i
+ fi
+ done
fi
if [ "x$pccard_ifconfig" != "xNO" ] ; then
Index: rc
===================================================================
RCS file: /home/ncvs/src/etc/rc,v
retrieving revision 1.183
diff -u -u -r1.183 rc
--- rc 1999/03/17 04:00:04 1.183
+++ rc 1999/03/22 01:56:24
@@ -33,11 +33,13 @@
fi
# If there is a global system configuration file, suck it in.
-#
if [ -f /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
-elif [ -f /etc/rc.conf ]; then
- . /etc/rc.conf
+ for i in ${rc_conf_files}; do
+ if [ -f $i ]; then
+ . $i
+ fi
+ done
fi
# Configure ccd devices.
Index: rc.devfs
===================================================================
RCS file: /home/ncvs/src/etc/rc.devfs,v
retrieving revision 1.4
diff -u -u -r1.4 rc.devfs
--- rc.devfs 1999/02/10 18:08:16 1.4
+++ rc.devfs 1999/03/22 01:56:39
@@ -1,11 +1,15 @@
#
# $Id: rc.devfs,v 1.4 1999/02/10 18:08:16 jkh Exp $
#
+
# If there is a global system configuration file, suck it in.
if [ -f /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
-elif [ -f /etc/rc.conf ]; then
- . /etc/rc.conf
+ for i in ${rc_conf_files}; do
+ if [ -f $i ]; then
+ . $i
+ fi
+ done
fi
# Setup DEVFS, ie permisisons, links etc.
Index: rc.diskless2
===================================================================
RCS file: /home/ncvs/src/etc/rc.diskless2,v
retrieving revision 1.2
diff -u -u -r1.2 rc.diskless2
--- rc.diskless2 1999/02/10 18:08:16 1.2
+++ rc.diskless2 1999/03/22 01:57:04
@@ -2,11 +2,13 @@
#
# If there is a global system configuration file, suck it in.
-#
if [ -f /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
-elif [ -f /etc/rc.conf ]; then
- . /etc/rc.conf
+ for i in ${rc_conf_files}; do
+ if [ -f $i ]; then
+ . $i
+ fi
+ done
fi
mount_mfs -s ${var_run_sectors:=2048} -T qp120at dummy /var/run
Index: rc.firewall
===================================================================
RCS file: /home/ncvs/src/etc/rc.firewall,v
retrieving revision 1.20
diff -u -u -r1.20 rc.firewall
--- rc.firewall 1999/02/10 18:08:16 1.20
+++ rc.firewall 1999/03/22 01:57:16
@@ -2,11 +2,14 @@
# Setup system for firewall service.
# $Id: rc.firewall,v 1.20 1999/02/10 18:08:16 jkh Exp $
-# Suck in the configuration variables.
+# If there is a global system configuration file, suck it in.
if [ -f /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
-elif [ -f /etc/rc.conf ]; then
- . /etc/rc.conf
+ for i in ${rc_conf_files}; do
+ if [ -f $i ]; then
+ . $i
+ fi
+ done
fi
############
Index: defaults/rc.conf
===================================================================
RCS file: /home/ncvs/src/etc/defaults/rc.conf,v
retrieving revision 1.4
diff -u -u -r1.4 rc.conf
--- rc.conf 1999/03/17 04:00:04 1.4
+++ rc.conf 1999/03/22 01:58:02
@@ -202,16 +202,3 @@
kern_securelevel="-1" # range: -1..3 ; `-1' is the most insecure
update_motd="YES" # update version info in /etc/motd (or NO)
vinum_drives="" # put in names of disks containing vinum drives
-
-##############################################################
-### Allow local configuration override at the very end here ##
-##############################################################
-#
-#
-
-for i in ${rc_conf_files}; do
- if [ -f $i ]; then
- . $i
- fi
-done
-
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39218.922068401>
