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

Reply via email to