Subject: Re: groff/-current build problems
To: None <current-users@netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: current-users
Date: 12/08/2002 17:26:25
[ On Sunday, December 8, 2002 at 18:37:50 (+1100), Luke Mewburn wrote: ]
> Subject: Re: groff/-current build problems
>
> So don't extract the etc.tgz set then.

One of the problems that's caused all this over-complication is that the
following files really should have been included in base.tgz all along:

	dev/MAKEDEV
	etc/defaults/*
	etc/daily
	etc/mtree/*
	etc/monthly
	etc/rc.d/*
	etc/rc.lkm
	etc/rc.shutdown
	etc/rc.subr
	etc/security
	etc/weekly

Arguably even the following should be in base.tgz, though they are each
somewhat more likely to be edited locally than the above set, especially
given that some of them are not necessarily complete and authoritative
in the current source tree:

	etc/floppytab
	etc/netconfig
	etc/protocols
	etc/rpc
	etc/services

This file could have an /etc/defaults companion so that it could be
initially empty except for a comment (i.e. just for local additions):

	etc/changelist

Having the above files installed as part of the base set makes it much
less important to have silly merge scripts.  I've been including all of
the above in my base.tgz for a couple of years now (in the two major
releases I've customized) and have been quite happy with the result.

With the above in base.tgz there's almost nothing left that _must_ be
merged except for adding new system accounts and groups, and those can
be added with 'useradd' and 'groupadd' instead of by way of some merging
process, and where the exact UID doesn't matter they can probably even
be added automatically without fear of clashes now that we have the
range option ('-r low..high') for 'useradd' (we need that range option
for 'groupadd' too!  and support in pkgsrc/mk/bsd.pkg.install.mk too!).

All those other files that could be merged but don't really need to be,
such as syslog.conf, newsyslog.conf, inetd.conf, hosts.allow, etc.,
(i.e. all the rest of what would be in etc.tgz without the files above)
really should be initially installed in /usr/share/examples/etc or
something like that and copied to /etc during the initial system install
(eg. when /dev/MAKEDEV is run).  Then any merging of them could be done
at any time, in any way, entirely without the sets or sources online.

This is probably the way I'll do things for my own 1.6 releases, if I
get around to it!  :-)

-- 
								Greg A. Woods

+1 416 218-0098;            <g.a.woods@ieee.org>;           <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>