On Sun, Sep 7, 2014 at 3:39 AM, Scot Hetzel <[email protected]> wrote:
> I had a look at scripts/refdb.in, it is not a proper rc script for
> FreeBSD, as it is missing several keywords:
>
> # PROVIDE: <- all scripts need this
> # REQUIRE:
> # BEFORE:
> # KEYWORD: <- optional
>
> Which tells rcorder where to put refdb in the startup order. Since
> these are missing, rcorder doesn't place it in the startup list.
>
I looked again, and it is not rcorder, it's /etc/rc and /etc/rc.subr
that determine which script to run.
/etc/rc calls find_local_scripts_new from /etc/rc.subr.
find_local_scripts_new checks each rc script to make sure that they
have at least a "# PROVIDE: " keyword. If it does, then it adds that
script to ${local_rc}. Then /etc/rc runs:
files=`rcorder /etc/rc.d/* ${local_rc}`
to get the startup order for these scripts. Then /etc/rc starts the
scripts in the proper order.
Since, /usr/local/etc/rc.d/refdb{,.sh.dist} is missing the "# PROVIDE:
", the script is skipped on startup.
Since, rc.d/refdb is not a proper rc script, adding refdb_enable=YES
to /etc/rc.conf{,.local} will not control the starting of this script.
Someone should fix service, so that it checks the rc script has a "#
PROVIDE: ", and displays an error message if it doesn't.
--
DISCLAIMER:
No electrons were maimed while sending this message. Only slightly bruised.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[email protected]"