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



On Sun, Apr 17, 2011 at 11:37:24PM +0200, Michael van Elst wrote:
 > > > The nice design is to keep such checks easily edible. Instant
 > > > flexibility instead of limited choices chosen by the designers.
 > > 
 > > No, because then you have to write shell script (or worse, hack
 > > someone else's) to get the behavior you want. This limits the
 > > flexibility to people who have sufficient skills to do that (and who
 > > trust that skill enough to do it in a production context...)
 > 
 > This is not about simple configuration options versus custom scripting.

Yes it is, really; the claim is that if the configuration support is
adequate then the need to make custom changes should largely or
entirely go away.

 > The possibility to do custom scripting doesn't prevent others from
 > using the simple configuration options.

No, but it has plenty of other costs. And remember, nobody's
suggesting that you can't have /etc/daily.local, so you can do all the
custom scripting you want; you just can't edit /usr/libexec/daily
without going to the source tree and then typing 'make && make
install'. Just like ls.

Again, how about some examples of things where you want to edit
/etc/daily?

 > > Also, configuration should not in general be Turing-complete, because
 > > that makes it too hard to reason about and debug. In this business we
 > > tend to make configuration Turing-complete when we don't know the
 > > range of sensible configurations yet or if that range is extremely
 > > large.
 > 
 > So, the possibility of 'Turing-complete' configuration helps you
 > exactly in these cases. If you forbid this you limit the range
 > of 'sensible configurations' to what you define as sensible.

Yes indeed, but it also means that the range of possible
configurations ceases to include a wide variety of non-sensible (which
often includes broken, inoperable, erratic, failing mysteriously, see
Windows for examples) configurations. This is a feature.

 > > Hence, for example, sendmail.cf. However, as the environment
 > > matures the unanswered questions tend to get answered, the outlier
 > > situations requiring weird configs tend to go away, and eventually the
 > > Turing-completeness becomes a liability. Hence, in the same example,
 > > Postfix.
 > 
 > Postfix already reinvented part of sendmail.cf because the simple
 > configuration options were lacking. And I can assure you, while
 > sendmail configuration language is cryptic and arcane, the equivalent
 > postfix configuration not covered by the simple configuration options
 > is worse to understand or debug or simply impossible.

Yes, well, mail is complicated and difficult and Postfix's
configuration was never all that well designed, but it's still a lot
easier to work with Postfix than to write raw sendmail.cf.

Do you want to bring back starting the network and all daemons from
/etc/rc.local? That gives much more flexibility than ifconfig.* and
rc.conf, after all.

 > > I should think we can figure out how to make /etc/daily sufficiently
 > > flexible that no ordinary sysadmin should ever need to edit it.
 > 
 > And 640k is enough for everyone. Right.

Yeah, that's so relevant.

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index