Subject: Re: HEADS UP: RCD_SCRIPTS_EXAMPLEDIR changed to share/examples/rc.d
To: Robert Elz <kre@munnari.OZ.AU>
From: Todd Vierling <>
List: tech-pkg
Date: 12/30/2004 17:08:29
On Fri, 31 Dec 2004, Robert Elz wrote:

>   | If the scripts were changed so that the NO (i.e., don't run server) defaults
>   | were implied, then what would be *bad* about having all the scripts in a
>   | ready-to-go location?
> Please, can you attempt to state your end goal here, just what should
> happen when a package (daemon type package) is installed, and justify
> that.   Without that, we're continuing to miss each other's point.

OK, sorry about that.  Mental wavelength difference.  I said it in previous
posts, but to recap:

- On binary pkg install, copy the rc.d script to a default location
  (LOCALBASE/etc/rc.d by default, since that jives with the
  all-under-LOCALBASE default goal).  Can be overridden by choosing a
  different directory.

- Default daemon not to run by default.

- Set daemon to =YES in rc.conf to enable.

- Document how to choose a different rc.d directory, or how to add
  LOCALBASE/etc/rc.d to system startup via rc_rcorder_flags (NetBSD) or
  latching into external rc.subr framework and rcorder executable via
  rc.local (other OS's).

The goal would be for rc.d scripts to show up somewhere by default, with
only one knob needed to change their install location or latch into system
startup, and only one knob needed to enable a daemon.

>   | So why isn't the rc.d script put in a ready-to-go place for you, then?
> And why isn't it enabled to run as well?   If we're going that one
> extra step, why not also take one more.

There are many reasons to install packages and not run their daemons.
Installing Samba to get only nmbd (or even just smbclient).  Installing
openldap only for the client library (no slurpd).

The example I'm following is the one used by most Linux distros (and some
other OS's).  Packages can be installed, but they don't run at boot unless
you tell them to do so by twiddling exactly one knob.

>   | [*] I should point out that even if you set PKG_RCD_SCRIPTS=YES to override
>   |     the NO default when pkg_add'ing, that setting is not saved.
> Smells like an oversight, and worth a PR ?

Probably.  I could rephrase that a bit.  It's a little more broad than that,
in that the pkgdb directory should be used to stash install-time knobs for
later retrieval at deinstall time (a la Solaris packages).

-- Todd Vierling <> <>