svn commit: r336859 - head/sbin/init/rc.d

Brad Davis brd at FreeBSD.org
Sun Jul 29 17:47:44 UTC 2018


On Sun, Jul 29, 2018, at 11:35 AM, Ian Lepore wrote:
> On Sun, 2018-07-29 at 09:59 -0700, Don Lewis wrote:
> > On 29 Jul, Ian Lepore wrote:
> > > On Sun, 2018-07-29 at 05:42 +0000, Don Lewis wrote:
> > >> Author: truckman
> > >> Date: Sun Jul 29 05:42:07 2018
> > >> New Revision: 336859
> > >> URL: https://svnweb.freebsd.org/changeset/base/336859
> > >> 
> > >> Log:
> > >>   Fix a variable name typo in r336845 that prevented the rc.d scripts
> > >>   from being installed in the correct directory.
> > >>   
> > >>   Resurrect a few rc.d scripts that were prematurely deleted from the
> > >>   Makefile by r336845.
> > >>   
> > >>   Reviewed by:       brd
> > >> 
> > >> Modified:
> > >>   head/sbin/init/rc.d/Makefile
> > >> 
> > >> Modified: head/sbin/init/rc.d/Makefile
> > >> =====================================================================
> > >> =========
> > >> --- head/sbin/init/rc.d/Makefile     Sun Jul 29 05:14:26 2018        
> > >> (r336858)
> > >> +++ head/sbin/init/rc.d/Makefile     Sun Jul 29 05:42:07 2018        
> > >> (r336859)
> > >> @@ -2,7 +2,7 @@
> > >>  
> > >>  .include 
> > >>  
> > >> -CONFSDIR=   /etc/rc.d
> > >> +CONFDIR=    /etc/rc.d
> > >>  CONFGROUPS= CONFS
> > >>  
> > > 
> > > I'm pretty sure CONFSDIR was right here. You are now trapped in a maze
> > > of small twisty variable names, all alike.
> > 
> > Without this change, the rc.d scripts get installed directly under
> > /var/tmp/temproot/etc/ and mergemaster wants to delete the scripts under
> > /etc/rc.d.  Answering yes to that mergemaster question results in an
> > unbootable system.
> > 
> > I see the following in /usr/share/mk/bsd.confs.mk:
> >   ${group}DIR?=   ${CONFDIR}
> > but I don't see ${CONFSDIR} anywhere.
> > 
> 
> You don't see CONFSDIR because it appears as ${group}DIR and with
> CONFGROUPS?= CONFS that turns into CONFSDIR. So now the question is why
> doesn't setting CONFSDIR work in this makefile, but it works in others?
> 
> -- Ian
> 
> > After this commit, mergemaster works properly again.
> > 
> > > CONFGROUPS=CONFS is the default set by bsd.conf.mk, and it's the only
> > > one that needs CONF to be singular. Perhaps if we establish the idiom
> > > of not re-specifying the default value in all the individual makefiles,
> > > that'll leave everything as CONFS* and it'll be a bit less confusing?

I spoke with Ian on IRC about this, but for everyone else following along here..

This works because CONFDIR is the default for all CONFGROUPS, where as CONFSDIR only applied to the CONFS group.


Regards,
Brad Davis


More information about the svn-src-head mailing list