*BSD News Article 8226


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!hp9000.csc.cuhk.hk!saimiri.primate.wisc.edu!caen!spool.mu.edu!news.nd.edu!mentor.cc.purdue.edu!lv426.cc.purdue.edu!ksb
From: ksb@lv426.cc.purdue.edu (Kevin Braunsdorf)
Subject: [386BSD] Wish list for the User Level
Message-ID: <ByA30w.9xB@mentor.cc.purdue.edu>
Followup-To: poster
Summary: Out of the fringe; finding our priorities
Keywords: values system, goals, priority, I'll summarize, 3 points
Sender: news@mentor.cc.purdue.edu (USENET News)
Organization: PUCC UNIX Group
Date: Wed, 25 Nov 1992 15:29:19 GMT
Lines: 96

I've been reading and watching for a while.  My friends and I got into
386BSD as soon as we heard about it.  We built that funny boot disk
that come up into RAM.  Anyone remember that??

Now I'm more interested in helping out the user level (enough people
are working under the system call interface to make things confusing).
I saw someone wanted at/atrm/atq/atrun so I ported the Purdue ones
based on the Net2 ones.  (`At' is up on ref.tfs.com and will be in the
nova archs soon, but you need Vixie cron to run it.)


Now, to point one:

I'd like a list of the `goals' or `values' people would like to see
built into the 386BSD user level (including system admin programs).
Here are a few examples I use in my own code:

	1\ every program should have a manual page

	2\ every program should have an online help message (-h or -\?)

	3\ every program should have online version info (-V or -version)

	4\ exit codes must be accurate:
		a) no program should exit 0 if it failed
		b) no program should exit non-zero if it did the job

	5\ message to the user:
		a) every program should identify itself in error messages!
		b) messages about failure should `narrow' left to right
		c) messages about success should be at *most* one line

Examples (on ref.tfs.com):

1\ try 
	$ man vmstat

2\ try (real error checking here)
	$ sleep -h

3\ try to figure out if you are running the latest of anything (but GNU
   tools) recently the GNU people figured this one out.

4\ try some common programs:
	$ sh -c 'lprm fff; echo $?'
	$ sh -c 'biff n; echo $?'
	
5\ contrast dd to mk:
	$ dd if=/dev/fff of=/dev/null
	error 2:/dev/fff $ <no newline>

   with
	$ mk /dev/bull
	mk: stat: /dev/bull: No such file or directory

So mail any goals you'd like to be integrated into the user level to
me.  (ksb@cc.purdue.edu)  I'll post a summary.


Now to point two:

I hear some complaints about missing program (iostat?)
	What is missing from the 386BSD user level?
	What is `sub-standard'?
	What obvious ports need to be done (like at/atq/atrm/atrun)?


Now to point three:

I'd like to help out with this idea of /usr/packages or /usr/custom
or /usr/local or ....

What values system whould you apply to `add on' programs.
What files can they change to install themselves?  Where should they
live?  Are we allowed a /var/<pkg> for each app?  /etc/rc/<pkg>?,
a login name, others?

Things to think about:
	a) compiler for Pascal or Turing?   Where?  Manual pages?  PATH?
	b) a spiffy spreadsheet calculator?
	c) an entombing rm/mv/cp (like a Mac trashcan)
	d) a new shell
	e) a new daemon not run from inetd
	f) <your fav. app.>

How will a novice user find one of these?


Send me a long answer, think about all this.  We need to get the priority
of what is going on at the user level straight.  Thanks!


--
"We though, just for an instant, we could see the future,
 We thought for once we knew what really was important."    -- Aimee Mann
kayessbee, Kevin Braunsdorf, ksb@cc.purdue.edu, purdue!ksb