Discussion:
rc.d scripts and rc.conf variable defaults
Ian Lepore
2017-09-25 14:28:01 UTC
Permalink
We have about 165 scripts in etc/rc.d.  22 of them handle their own
default values for configuration variables using ${var:=default} or
${var:-default}.  Presumably all the others rely on defaults/rc.conf
providing the default values.

Is there a standard, written or not, covering this?

rc.conf(5) says that defaults/rc.conf is the thing that includes your
/etc/rc.conf, and that would certainly guarantee that the system-
provided defaults are in place, but the current implementation doesn't
actually work that way.  rc.subr is currently forgiving of a missing
defaults file.

I'd prefer that the system rc.d scripts relied on defaults/rc.conf
alone and individual rc.d scripts not be cluttered up with :- syntax.
 While rc.conf(5) strongly implies the file is required, it doesn't
exactly say so.  Should it?

-- Ian
Warner Losh
2017-09-25 15:18:57 UTC
Permalink
We have about 165 scripts in etc/rc.d. 22 of them handle their own
default values for configuration variables using ${var:=default} or
${var:-default}. Presumably all the others rely on defaults/rc.conf
providing the default values.
Is there a standard, written or not, covering this?
When /etc/defaults/rc.conf was created, the standard was everything belongs
there to protect the user from default churn.
rc.conf(5) says that defaults/rc.conf is the thing that includes your
/etc/rc.conf, and that would certainly guarantee that the system-
provided defaults are in place, but the current implementation doesn't
actually work that way. rc.subr is currently forgiving of a missing
defaults file.
Yes, it was implemented that way a long time ago, but there was a switch to
a list of rc files to read at some point and the docs weren't updated.
I'd prefer that the system rc.d scripts relied on defaults/rc.conf
alone and individual rc.d scripts not be cluttered up with :- syntax.
While rc.conf(5) strongly implies the file is required, it doesn't
exactly say so. Should it?
IMHO, yes. It's certainly was the intent when this stuff was invented.

Warner

Continue reading on narkive:
Loading...