tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Moving rc.d scripts to base.tgz

Julio Merino <> 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

Home | Main Index | Thread Index | Old Index