On Mon, Aug 11, 2014 at 09:30:31PM +0200, Matthias Kilian wrote: > On Mon, Aug 11, 2014 at 07:25:23AM -0600, Antoine Jacoutot wrote: > > CVSROOT: /cvs > > Module name: src > > Changes by: ajacou...@cvs.openbsd.org 2014/08/11 07:25:23 > > > > Modified files: > > etc/rc.d : rc.subr > > > > Log message: > > Make it possible to pass arguments to _rc_parse_conf(). > > > > ok robert@ > > This badly breaks /etc/rc and /etc/netstart, which both use > _rc_parse_conf without parameters. Instead of wiring the default > parameters (/etc/rc.conf and /etc/rc.conf.local) there, too, I think > it's better to let _rc_parse_conf use them as defaults when it has > been invoked without parameters. Also, there's no reason to use > ' ... in "$@"' in a for loop.
Ok shit I totally forgot to commit those... but I did modify them and have them on my system actually :-( > ok? Yes. > Index: rc.subr > =================================================================== > RCS file: /cvs/src/etc/rc.d/rc.subr,v > retrieving revision 1.78 > diff -u -p -r1.78 rc.subr > --- rc.subr 11 Aug 2014 13:25:23 -0000 1.78 > +++ rc.subr 11 Aug 2014 19:22:36 -0000 > @@ -121,7 +121,8 @@ _rc_parse_conf() { > pf_rules ipsec_rules shlib_dirs pkg_scripts \ > nfs_server > > - for _rcfile in $@; do > + [ $# -gt 0 ] || set -- /etc/rc.conf /etc.rc.conf.local > + for _rcfile; do > [[ -f $_rcfile ]] || continue > while IFS=' ' read -r _l; do > [[ $_l == [!#=]*=* ]] || continue > @@ -263,7 +264,7 @@ _RC_RUNDIR=/var/run/rc.d > _RC_RUNFILE=${_RC_RUNDIR}/${_name} > > # parse /etc/rc.conf{.local} for the daemon_flags > -_rc_do _rc_parse_conf /etc/rc.conf /etc/rc.conf.local > +_rc_do _rc_parse_conf > > eval _rcflags=\${${_name}_flags} > eval _rcuser=\${${_name}_user} -- Antoine