Subject: Re: lib/254: uname(1) output breaks scripts, is unreadable
To: Chris G. Demetriou <cgd@postgres.berkeley.edu>
From: None <Mark_Weaver@brown.edu>
List: netbsd-bugs
Date: 05/22/1994 23:51:02
> > Complain about the configure scripts that are used by most GNU tools
> > then.  Including eg. GNATS, Emacs & bash to name a few.
> 
> No, *you* complain about them; i don't use them.  8-)
> If they do the wrong thing, and assume single-"word" output, they're
> *broken*, and should have bugs filed against them.  PERIOD.

I'd be interested in seeing you write a small script that will output
a string like "NetBSD 0.9B" or "SunOS 5.3" on a wide variety of
systems.  If you come up with a nice answer, please let me know so I
can forward it to the autoconf people.

I agree that autoconf should be fixed to handle spaces.  I also agree
that you are not violating the POSIX standard.

However, you haven't given an explanation of why the new "uname -r" is
more desirable.  Considering the incompatibilities caused by the new
method, I'd expect there to be at least SOME reason for it.  You have
given none.

Generally I think it's better to provide information in small pieces
that other programs can concatenate together if desired, rather than
forcing them to parse it.  In particular, a release number should
NEVER be parsed.  However, by deviating from a (perhaps unofficial)
standard, you will FORCE configuration scripts to parse uname's output
in order to separate out the release number.

Perhaps you think you are helping society by forcing configuration
scripts to be POSIX compliant.  In my opinion, this change will cause
scripts to resort to gross hacks.  Please think this over carefully.

	Mark
--------------------------------------------------------------------
Email: Mark_Weaver@brown.edu           | Brown University
PGP Key: finger mhw@cs.brown.edu       | Dept of Computer Science

------------------------------------------------------------------------------