Subject: Re: ^C in fsck (segue from tech-kern)
To: None <tech-userlevel@NetBSD.org>
From: None <tlaronde@polynum.com>
List: tech-userlevel
Date: 04/05/2007 12:34:01
On Thu, Apr 05, 2007 at 02:07:16AM -0400, der Mouse wrote:
> > I may not understand correctly the framework, but not stopping on
> > error for a script in rc.d/ not ending in ".sh" is a feature.
> 
> ...huh?  If a script is one for which ignoring errors is appropriate,
> it's perfectly capable of doing so itself.  How is it a feature to
> silently ignore errors if the name doesn't happen to end in .sh (which
> certainly doesn't say "pay attention to errors" to *me*, at least).

I mean it's the default and designed as is (if it was not, there would
have been no ".sh" special treatment). man rc(8).

> 
> What would make some sense would be to use the dependency information
> embedded in the scripts - the stuff used by rcorder - to disable
> anything depending on the failed script.  This means there needs to be
> some kind of "go multiuser" script, or pseudo-script, which can be made
> to depend on anything considered critical for operation....

To depend on anything critical that is actually used on the system
(testing if name == YES or not, at least for system [NetBSD provided]
services). And this would mean probably another variable in rc.conf to
list the critical services and ensure that whenever the admin changes
the services, or add other ones, this is not a forgotten adjustment.

IMHO it's simpler to make the "critical" services abort the booting: if
one knows or wants that second stage services are not run if a
previously service fails, the information is already given when this
service fails. Just abort at this time (simpler to pin point the failure
and faster).
-- 
Thierry Laronde (Alceste) <tlaronde +AT+ polynum +dot+ com>
                 http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C