> i consider system code easier to understand, more predictable,
> and hence easier to keep correct and secure when system files
> and directories are not configurable.
>
> Consequently, i don't like the direction you are taking here.
Hell yes. It is dangerously confusing abstraction.
Only purpose it serves is to make simple stuff look magic.
> [...]
> > Index: rcctl.sh
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/rcctl/rcctl.sh,v
> > retrieving revision 1.41
> > diff -u -p -r1.41 rcctl.sh
> > --- rcctl.sh 10 Oct 2014 15:59:36 -0000 1.41
> > +++ rcctl.sh 11 Oct 2014 12:41:22 -0000
> [...]
> > @@ -62,7 +64,7 @@ svc_default_enabled()
> > [ -n "${_svc}" ] || return
> > local _ret=1
> >
> > - _rc_parse_conf /etc/rc.conf
> > + _rc_parse_conf ${_STATIC_RCCONF}
> > svc_is_enabled ${_svc} && _ret=0
> > _rc_parse_conf
> >
> [...]
>