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