Subject: Re: managing /usr/pkg/etc/rc.d
To: NetBSD User's Discussion List <netbsd-users@netbsd.org>
From: henry nelson <netb@irm.nara.kindai.ac.jp>
List: netbsd-users
Date: 05/15/2003 10:59:03
I'm speaking as a novice-class user whose day job takes so much time
that NetBSD gets the crumbs.  Things have to be clear and logical so
that they can be done _manually_ in a consistent manner from architecture
to architecture, and upgrade to upgrade.  Otherwise it literally takes
months to get anything done since each step has to be fought though by
trial and error over and over again.

On Wed, May 14, 2003 at 01:31:29PM -0400, Greg A. Woods wrote:
> [ On Wednesday, May 14, 2003 at 09:42:57 (-0500), Frederick Bruckman wrote: ]
> > that file? As evidenced by the original post, all these beautifully
> > helpful options are just confusing people.

The options are particularly confusing when their only purpose is to
provide "automagic" installation.  Once the concept of installation is
grasped, all anyone should have to do is "make install", "vi xxxx.rc",
"cp xxxx.rc /etc/rc.d" and "vi rc.conf".  A template rc file(s) should be
provided (see below), and the steps to perform a generic install on any
system should be the one provided (patched for NetBSD specifics) by the
README and/or INSTALL in the source breakout.

Why?  Because then you know what you did, you know how to change it, and
you know how to undo it.  You also have a few clues as to why it's not
working right.  If the install is done "automagically" for you, you're
at a total loss if anything at all goes wrong, or if you want something
slightly different from when you installed it.

Now off topic, but the only use I have for pkgsrc is to get things
_compiled_.  Auto(conf|make|.*), libtool and shared libraries have made
it nearly impossible for a casual user to build many core programs
anymore.  How can I compare: "compile:build an automobile from component
parts::install:set the clock and turn on the ignition key"?  Don't get
me wrong, I am VERY, VERY grateful to the volunteers who have put in
so many hours to get those programs to build.  Just, I wish they wouldn't
waste their time trying to work out some automagic install scheme which
by the very fact that the user loses control over the program makes it
less than useless.

> the use of ${PREFIX}/etc/rc.d as the installation location of the sample
[...]
> I and at least several others believe this confusion would be totally
> and completely eliminated if instead the RCD scripts were installed (by
> default at least) into ${PREFIX}/share/examples/rc.d.

YES!  That's the first place I'd look.  If they aren't there, then the
whole install waits days, weeks or months until I have time to sit at
that machine again and waste precious time trying to find a template.
(Usually have to give up and go to google, then here or help@.)

> We also believe the instructions for installing and configuring any
> package (i.e. any messages uttered by the REQUIRE and INSTALL script(s))
> should be automaticaly appended to the MESSAGE file when the package is
                                         ^^^^^^^^^^^^
I was not aware of this feature.  Perhaps it needs to be advertised more.

> installed (in addition to being displayed to the TTY of the installer,

Absolutely.  For a person who is going to install that program once every
two years or so, the critical (essential) information to start the daemon
or run the program, e.g., "put the line 'apachectl start' in /etc/rc.conf",
should be right there.  Also, warnings.  If it is impossible to get it all
in about four lines, then a reference is imperative, e.g., "you must read
/usr/local/share/examples/README.pkg to use this program."

Sorry for the rant.  I doubt my love for NetBSD will fail regardless of the
final outcome.  All of you, thanks for your tireless efforts.

-- 
henry nelson