Peter Bisroev [pe...@int19h.net] wrote: > > Thank you for a quick response guys! Chris if you are talking about > modifying /etc/rc does that mean that there could be a plan in the > future to add that to the CVS? In the interim, should I test your > patch or is Stuart's way of starting unbound should be used for now? > > Cheers, > --peter
This might be suitable to commit. Stuart? Index: etc/rc =================================================================== RCS file: /cvs/src/etc/rc,v retrieving revision 1.397 diff -u -r1.397 rc --- etc/rc 9 Dec 2011 14:52:26 -0000 1.397 +++ etc/rc 6 Jan 2012 19:10:29 -0000 @@ -232,6 +232,9 @@ if [ X"$1" = X"shutdown" ]; then dd if=/dev/arandom of=/var/db/host.random bs=65536 count=1 >/dev/null 2>&1 chmod 600 /var/db/host.random >/dev/null 2>&1 + if [ -n "${pkg_early_scripts}" ]; then + pkg_scripts="${pkg_scripts} ${pkg_early_scripts}" + fi local _c=$? if [ ${_c} -eq 0 -a -n "${pkg_scripts}" ]; then echo -n 'stopping package daemons:' @@ -396,7 +399,14 @@ make_keys echo -n 'starting early daemons:' -start_daemon syslogd ldattach pflogd named nsd ntpd isakmpd iked sasyncd +start_daemon syslogd +# Run rc.d(8) early scripts from packages +if [ -n "${pkg_early_scripts}" ]; then + for _r in $pkg_early_scripts; do + [ -x /etc/rc.d/${_r} ] && start_daemon ${_r} + done +fi +start_daemon ldattach pflogd named nsd ntpd isakmpd iked sasyncd start_daemon ldapd echo '.' Index: share/man/man8/rc.conf.8 =================================================================== RCS file: /cvs/src/share/man/man8/rc.conf.8,v retrieving revision 1.19 diff -u -r1.19 rc.conf.8 --- share/man/man8/rc.conf.8 8 Jul 2011 17:43:58 -0000 1.19 +++ share/man/man8/rc.conf.8 6 Jan 2012 19:10:29 -0000 @@ -103,7 +103,9 @@ .Pp The fourth section contains the .Va pkg_scripts -variable, responsible for starting and stopping +and +.Va pkg_early_scripts +variables, responsible for starting and stopping .Xr rc.d 8 scripts installed by packages in the specified order. For example, the following line @@ -120,6 +122,16 @@ argument at boot time and in reverse order with the .Va stop argument at shutdown. +Packages listed in the +.Va pkg_early_scripts +variable are started before any other system daemons, except syslogd. The +.Va pkg_early_scripts +variable is suitable for starting package daemons needed early, such +as syslog or resolver packages which are replacing system daemons. +Many packages can not be started early, as ldconfig has not initialized +the shared library cache for package libraries prior to the +.Va pkg_early_scripts +entry point. .Sh SEE ALSO .Xr init 8 , .Xr intro 8 , Index: share/man/man8/rc.d.8 =================================================================== RCS file: /cvs/src/share/man/man8/rc.d.8,v retrieving revision 1.20 diff -u -r1.20 rc.d.8 --- share/man/man8/rc.d.8 9 Oct 2011 08:54:29 -0000 1.20 +++ share/man/man8/rc.d.8 6 Jan 2012 19:10:29 -0000 @@ -45,7 +45,9 @@ .Xr packages 7 may be started at boot time in the order specified by the .Va pkg_scripts -variable from +and +.Va pkg_early_scripts +variables from .Xr rc.conf 8 ; the order will be reversed during shutdown. Services comprising