Subject: Re: Updating /etc...
To: None <current-users@NetBSD.ORG>
From: Peter Seebach <seebs@solon.com>
List: current-users
Date: 12/19/1995 20:16:30
[Chris said:]
>> If NetBSD is going to be widely used and "successful" from a "number
>> of users" point of view, it's going to _need_ to do something like
>> this, eventually.

>Is being "widely used" and ""successful" from a "number of users" point
>of view" really what we want?

Partially.

>Yes?  Then why don't we just throw it out and do MS-DOS?

Because there are other things we want.  Multitasking, virtual memory,
the fortune file.  Stuff like that.

>That's a somewhat flip remark, but it's got a serious core.  The
>comment I quoted sounds as though its author believes that more users
>is good, and that anything is acceptable as long as it serves that end.
>Now, I don't think Chris is really _that_ dogmatic about it, but I do
>detect a disturbing tone of being popularity-driven here that I'm not
>really convinced I like.  A wider user base is good, other things being
>equal - *other things being equal*.  In my opinion, a SysV-style init
>is too heavy a price to pay for whatever increased popularity it may
>bring.

I guess, IME, a sysv style init takes a bit more work to get used to at
first, but is after that delightfully easy to work with.  I spend
entirely too much time trying to figure out which lines in rc.local
were added by SunPC, which by one of our scanner drivers, and which
by the guy that did the install so the user has a screenblanker
running.

If I could just say "now remove /etc/rc.3/S*scanner", I'd be happy.
(Okay, I'd actually have to say "type cee dee space slash ee tee cee,
and hit return, now type..."... But you get the point.)

(I work in tech support with endusers.)

rc.local is great for quick hacks, but sucks for long term maintenance.
Why should I have to merge in changes, via patch or by hand, when I could
just add a script entirely of my own design, put it in /etc/rc.d, link
to it in /etc/rc3.d, and then copy in new versions of /etc/rc* whenever
someone fixed them?

Next time I upgrade our ISP's web machine, I want to merge in the new
netstart.  But every net change I want has to be merged into it.  With
the .d system, I'd copy in the system netstart, and my S123httpd would
just sit there untouched.

There are flaws with the canonical SysV implementation, and places where
we could offer real value added in design.  That's what NetBSD seems to
be about.

But I really think we could benefit a lot from a sysv style init.
Or perhaps one we roll ourselves which provides similar functionality.

I don't see any need for that much additional work; I think runlevels
can be sanely done in shell scripts.  To be quite frank, if your system
is changing state rapidly enough that script vs. C efficiency is an
issue, you have bigger problems than we can help with.

I would be quite happy to discuss details of a smart state transition
mechanism with anyone.  I'd love to have one, and I'd be glad to beta
test it on my home box, which has local ethernet networking, PPP, a
mud, and sometimes xdm, all of which run "sometimes".  Being able to
turn them on and off separately would be a boon.

Although I doubt I'll write much for the next week.  My wedding anniversary
is next week, and I decided to finally clean our apartment (moving debris
from September still clutters it) as a present for my wife.

-s