Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Nov 1998 11:47:56 -0800 (PST)
From:      Steve Kargl <sgk@troutmask.apl.washington.edu>
To:        crossd@cs.rpi.edu (David E. Cross)
Cc:        jkh@time.cdrom.com, nate@mt.sri.com, hackers@FreeBSD.ORG
Subject:   Re: linux software installation and uname
Message-ID:  <199811091947.LAA11148@troutmask.apl.washington.edu>
In-Reply-To: <Pine.SGI.4.05.9811091355590.5731-100000@o2.cs.rpi.edu> from "David E. Cross" at "Nov 9, 1998  1:58:48 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
According to David E. Cross:
> 
> 
> On Mon, 9 Nov 1998, Steve Kargl wrote:
> > ...
> > The install script on the cdrom had hardcoded tests for
> > /usr/bin/uname and /bin/uname.
> They should not do that; they are making the assumption that they know
> better than you how your machine ought to be setup.
> 
> > 
> > If we every get to the emulation of Digital Unix and Solaris
> > where we have /compat/linux, /compat/digital, /compat/solaris,
> > etc., then we need several versions of uname.  Now, we're talking
> > about bloat.
> Bloat for some, or bloat for all.  If you merge it into the main tree
> *everyone* gets that bloat, and then who is responsible for maintaining
> 'uname'?  If you break it out into the individual directories then only
> those who require the mentioned functionality will suffer the bloat; and
> it would be easy to setup a clear maintainer for the code.  Bloat is more
> than just code bloat, it is administrative bloat as well.
> 

Here is the nice little uname test from the vendor's install script:

# what type of target?
if test -x /usr/bin/uname ; then
        uname=/usr/bin/uname
elif test -x /bin/uname ; then
        uname=/bin/uname
else
        # Never seen it anywhere but /bin or /usr/bin, so hopefully it's
        # in $PATH already.
        type uname > /dev/null 2>&1
        if test $? -ne 0 ; then
                echo "install: uname not found in \$PATH environment variable"
                quit
        else
                uname=uname
        fi
fi

You'll never pick up /compat/linux/bin/uname unless you delete/rename
/usr/bin/uname.

I'm willing to bet that other vendors make similar assumptions.

As far as the bloat argument goes:
troutmask:root[228] ll uname /usr/bin/uname
-r-xr-xr-x  1 root  wheel  - 3880 Oct 22 10:04 /usr/bin/uname*
-rwxr-xr-x  1 root  wheel  - 3996 Nov  9 11:39 uname*

Can you really write a 116 bytes /compat/linux/bin/uname?  It
must handle "uname", "uname -s", "uname -n", etc.

-- 
Steve

finger kargl@troutmask.apl.washington.edu
http://troutmask.apl.washington.edu/~clesceri/kargl.html

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811091947.LAA11148>