svn commit: r336845 - in head: etc etc/defaults etc/rc.d sbin/init sbin/init/rc.d

Brad Davis brd at FreeBSD.org
Sun Jul 29 17:51:33 UTC 2018


On Sun, Jul 29, 2018, at 11:44 AM, Konstantin Belousov wrote:
> On Sun, Jul 29, 2018 at 11:01:27AM -0600, Brad Davis wrote:
> > On Sun, Jul 29, 2018, at 9:42 AM, Konstantin Belousov wrote:
> > > On Sat, Jul 28, 2018 at 08:36:23PM +0000, Brad Davis wrote:
> > > > Author: brd
> > > > Date: Sat Jul 28 20:36:23 2018
> > > > New Revision: 336845
> > > > URL: https://svnweb.freebsd.org/changeset/base/336845
> > > > 
> > > > Log:
> > > >   Move rc startup scripts from etc/ to sbin/init/
> > > Why all these moves are useful ?
> > > 
> > > No commit message explained what is the goal of the moves, and why
> > > it is better that way comparing the existing src/etc collection.
> > 
> > For pkg base we need to distill things out of etc/ and into places
> > where they fit better. This enables them to be pkged up with the
> > parts of the system them belong with and the CONFS= tags them as
> > config files so that pkg will know about them and be able to 3-way
> > merge them. This keeps the flexibility we have today with the many
> > WITH_*/WITHOUT_* knobs. Though it is not without trade offs, keeping
> > all of one part of the system together is simpler and makes some
> > maintenance easier.
> I do not see why do we need this for the pkgbase.  There is nothing
> wrong with installation of the whole clean dist-supplied /etc on
> the fresh system.  More, as you noted yourself, the ability to have
> all the config files installed is simpler and allows to overview and
> prepare configuration without requiring to have the corresponding
> packages installed.

On a fresh system sure, but on upgrades that is a problem.

I was not advocating for having all the etc files installed, even when you do not have that pkg installed.  I am saying it matches what happens today if you have, for example, WITHOUT_ACPI=y set.

> > > Moving startup scripts to sbin/init is at least dubious, IMO.
> > > Startup scripts has nothing to do with init(8), but this is the
> > > second-order question.
> >
> > Do you have a better idea of a place for them? This is the most
> > logical place I could think of.
> rc scripts are definitely not configuration files. They are executables.
> 
> I proposed this several times, the /etc/rc.d and /etc/rc.* are very much
> wrong place to contain the scripts. For instance, /libexec/rc/ could be
> more logical and much more operationally correct: e.g. the scripts can
> be updated by make installworld (or some sub-target) and removed by the
> ObsoleteFiles.

I agree with that, but was shot down as too big of a POLA violation on this list back during BSDCan.

I think it is something we can tackle, but I do not want it to hold up pkgbase so I am not willing to merge the two projects.


Regards,
Brad Davis


More information about the svn-src-head mailing list