Subject: Re: /etc/rc.d/ scripts that depend on multiple rc configs
To: Stephen Welker <stephen.welker@nemostar.com.au>
From: Luke Mewburn <lukem@NetBSD.org>
List: tech-userlevel
Date: 10/02/2003 13:53:53
On Thu, Oct 02, 2003 at 01:49:51PM +1000, Stephen Welker wrote:
  | Wouldn't it make better sense to do it like thus (psuedo code)...
  | 
  | load_rc_config ipfilter
  | if ! checkyesno ipfilter || [ ! -f /etc/ipf.conf ]; then
  |   echo "ipfilter not enabled, exiting ipnat startup"
  |   exit
  | fi

Generally in NetBSD we've not automatically started service `b'
that service `a' depends upon.

However, in the specific case of ipnat and ipfilter we had prior art
(to rc.d), so those semantics were retained for this specific case.

Note that FreeBSD's use of our rc.d code retains *their* prior art
of "start dependent service x (e.g., rpcbind) if service y (e.g, mountd)"
needs it.


  | This way if the SysAdmin wanted to disable ipfilter then the dependant
  | software would not start it, inadvertantly.
  | 
  | IMHO: It would a bad thing to have other packages starting starting software
  | from multiple points during the startup sequence.

As mentioned above, our general policy is to not start up dependent
services.  ipnat is a special case (with prior art).