rc.d scripts and rc.conf variable defaults
Warner Losh
imp at bsdimp.com
Mon Sep 25 15:18:59 UTC 2017
On Mon, Sep 25, 2017 at 8:28 AM, Ian Lepore <ian at freebsd.org> wrote:
> 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
More information about the freebsd-arch
mailing list