Date: Tue, 29 Apr 2003 20:25:44 +0300 From: Peter Pentchev <roam@ringlet.net> To: "Scot W. Hetzel" <hetzels@westbend.net> Cc: freebsd-arch@freebsd.org Subject: Re: Removal of the old rc system from -current Message-ID: <20030429172544.GA80819@straylight.oblivion.bg> In-Reply-To: <008401c30e71$3fade480$13fd2fd8@Admin02> References: <20030426154030.M13476@znfgre.qbhto.arg> <009001c30dbc$684a2c10$13fd2fd8@Admin02> <20030429122242.GB680@straylight.oblivion.bg> <008401c30e71$3fade480$13fd2fd8@Admin02>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Tue, Apr 29, 2003 at 12:03:21PM -0500, Scot W. Hetzel wrote:
> From: "Peter Pentchev" <roam@ringlet.net>
> > From "Scot W. Hetzel"
> >> I started porting my ports rc scripts to work on both rcNG and rcOG
> systems.
> >>In this process I found the ideal solution for the ports rc.d script:
> >>
> >> 1. define default port variables in the script
> >> 2. check for /etc/rc.subr
> >> a. if rc.subr exists, use rcNG style
> >> b. if rc.subr not exists
> >> 1. source /etc/defaults/rc.conf (or /etc/rc.conf)
> >> 2. use rcOG style
> >
> >Actually, this ought to be more like:
> >b. if rc.subr does not exist
> >1. source /etc/defaults/rc.conf
> >2. if the source_rc_confs function exists, execute it
> >3. if the source_rc_confs function does not exist,
> > try to emulate it by checking for the files listed
> > in the rc_conf_files variable and sourcing them if
> > they exist.
>
> This is what I have in the rcOG portion of the script to bring in the
> rc.conf settings:
>
> # Suck in the configuration variables.
> if [ -z "${source_rc_confs_defined}" ]; then
> if [ -r /etc/defaults/rc.conf ]; then
> . /etc/defaults/rc.conf
> source_rc_confs
> elif [ -r /etc/rc.conf ]; then
> . /etc/rc.conf
> fi
> fi
>
> Any changes I should make to it?
None that I can think of, actually. The only issue that bothers
me somewhat is that the above might miss an /etc/rc.conf.local;
however, if /etc/defaults/rc.conf does not have source_rc_confs_defined,
then we are clearly not on any reasonably recent FreeBSD system,
so I don't know whether any assumptions should be made about the
existence and relevance of /etc/rc.conf.local. On any reasonably
recent FreeBSD system with rcOG, source_rc_confs_defined would be
defined, and source_rc_confs() should take care of all the conf files.
G'luck,
Peter
--
Peter Pentchev roam@ringlet.net roam@sbnd.net roam@FreeBSD.org
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
Thit sentence is not self-referential because "thit" is not a word.
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)
iD8DBQE+rrWY7Ri2jRYZRVMRAklEAKClNzaJN4zk9ayEDzowVvkPolmHfACeOffA
BJp8N709VS8lHVTkoku3uQo=
=Ro6K
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030429172544.GA80819>
