Julio Merino <jmmv%julipedia.org@localhost> writes:
> Every time I run etcupdate and notice differences in the rc.d scripts,
> I can't stop wondering why these binaries are part of etc.tgz (other
> than them being in /etc/).
>
> The rationale:
> * All the rc.d scripts (with the exception of rc.local) are binaries that
> should
> not be changed manually: rc.conf and rc.conf.d exist for a reason.
> * If the scripts must be edited to implement some reasonable configuration
> change, then we have got a shortcoming in our configuration system that
> should be addressed.
> * If the scripts do not address someone's preferences, and these cannot be
> justified as configuration variables... well, this is no different than,
> say,
> /etc/cp not fulfilling someone's desires that require local patching of the
> source tree.
>
> The proposal: move the rc.d scripts (which include /etc/rc.d/*,
> /etc/rc, /etc/rc.subr and /etc/rc.shutdown, but NOT rc.local) from
> etc.tgz to base.tgz? The path locations would remain the same.
>
> Comments?
>
> Let the bikeshed start.
I think it's basically a reasonable proposal.
I use etcmanage to update, and it deals with this automatically, so the
current behavior is not causing me problems.
Two concerns:
The upgrade path (to a system with the different set packing) should
not be disruptive. I think that needs to be designed before proceeding.
Currently, everything in /etc and /dev/MAKEDEV{,.local} are in
*etc.tgz. Programs that munge /etc to do updates need to be able to
figure out what's in the "should be managed as /etc" and what's
"non-etc base system". Probably the mtree files are adequate for
this, but it bears a little thought. Looking at how things are now,
this is arguably not a new problem.
And then:
How far do you go? What about /etc/services? Arguably, if that's
wrong one should fix the sources and reinstall, as including new
services is a bug fix rather than local configuration.
Attachment:
pgpECFBgl_2jT.pgp
Description: PGP signature