[gnu.config] Where to install gnu stuff in the file system?

ham@polya.Stanford.EDU (Peter R. Ham) (04/26/89)

Is there a standard place to install gnu stuff in a 
Unix file system?  Maybe it doesn't matter, but there 
must be some places that are more maintainable than others.
I'm planning to install stuff in /usr/local/src/gnu
like /usr/local/src/gnu/gcc etc.

Does this make sens? Where do other people put this stuff?

Peter
--
Peter Ham			PO Box 3430	(415) 321-5746
MS Computer Science Student	Stanford, CA	ham@polya.stanford.edu
Stanford University 		94309

schmidt@zola.ics.uci.edu (Doug Schmidt) (04/26/89)

In article <HAM.89Apr25211501@polya.Stanford.EDU> ham@polya.Stanford.EDU (Peter R. Ham) writes:
++ 
++ Is there a standard place to install gnu stuff in a 
++ Unix file system?  Maybe it doesn't matter, but there 
++ must be some places that are more maintainable than others.
++ I'm planning to install stuff in /usr/local/src/gnu
++ like /usr/local/src/gnu/gcc etc.
++ 
++ Does this make sens? Where do other people put this stuff?
++ 
++ Peter

At UCI we created /usr/gnu for this purpose.  All the binaries go in
there.  In the case of gcc and g++ it is potentially useful to place
the support files (gcc-cc1, gcc-cpp, gcc-c++, gcc-ld++, etc.) in a
*common* subdirectory inside /usr/gnu.  This way they can share the
common files easily (without links).  Putting things in
/usr/local/bin/gnu/gcc/src/etc/....  gets to be a pain to type after a
while, though aliases certainly help out!

Doug
--
On a clear day, under blue skies, there is no need to seek.
And asking about Buddha                +------------------------+
Is like proclaiming innocence,         | schmidt@ics.uci.edu    |
With loot in your pocket.              | office: (714) 856-4043 |

bob@allosaur.cis.ohio-state.edu (Bob Sutterfield) (04/26/89)

(BTW, gnu.config is really for discussion of the configuration of the
gnu.* sub-Usenet, not for discussion of how to configure GNU software;
just as gnu.test is really for testing the extent and distribution of
gnu.*, not for discussion of testing GNU software.  I've redirected
followups to gnu.utils.bug, which is the closest to what you were
trying to find.)

In article <HAM.89Apr25211501@polya.Stanford.EDU> ham@polya.Stanford.EDU (Peter R. Ham) writes:
   Is there a standard place to install gnu stuff in a Unix file
   system?  Maybe it doesn't matter, but there must be some places
   that are more maintainable than others.  I'm planning to install
   stuff in /usr/local/src/gnu like /usr/local/src/gnu/gcc etc.

   Does this make sens? Where do other people put this stuff?

We put the sources in /usr/local/src/public/gnu, in the midst of the
rest of our source tree.

Binaries go in /usr/local/bin, which most everyone has in their path
ahead of "/usr/ucb:/bin:/usr/bin".  Where names conflict with those of
vendor-supplied programs later in the path, the name is prefixed with
a "g" (e.g.  gnm, gld, gas) so users know for sure what they're
getting.

Libraries go in /usr/local/lib, which ld(1) and gld(1) both have in
their hardwired default LDPATH after /lib and /usr/lib.  For example,
the Info tree lives in /usr/local/lib/emacs/info/*.

Manual pages (when they exist) go in /usr/man/man? rather than
/usr/local/man/man?  because of the proliferation of
manual-page-delivery programs, not all of which respect MANPATH or
MPATH or whatever.

This is, of course, not to be construed as canonical - you asked what
works for us in our environment.  No warranty expressed or implied.
Opening the shrink-wrap obligates you to nothing.  Your mileage may
vary; check with local dealers for rebate options they may offer; tax,
title, and dealer prep extra.  Stand by and remain clear of the TCA.

snoopy@sopwith.UUCP (Snoopy) (04/28/89)

In article <BOB.89Apr26093313@allosaur.cis.ohio-state.edu> bob@allosaur.cis.ohio-state.edu (Bob Sutterfield) writes:
|(BTW, gnu.config is really for discussion of the configuration of the
|gnu.* sub-Usenet, not for discussion of how to configure GNU software;

I hereby suggest the creation of gnu.misc to hold random topics that
don't have their own group.  Many other usenet branches have a misc group
and it seems to work reasonably well.  The gnu.misc group could hold
discussion on copyright (left, up, down, etc) issues, the current
"where should I put the stuff in my filesystem?" question, and other
topics that aren't specific to a particular piece of software.

|In article <HAM.89Apr25211501@polya.Stanford.EDU> ham@polya.Stanford.EDU (Peter R. Ham) writes:
|   Is there a standard place to install gnu stuff in a Unix file
|   system?

I recently created /usr/gnu, thus: /usr/gnu/bin, /usr/gnu/lib, etc.
There's getting to be enough programs that gnu deserves its own directory,
at a place reasonably low in the tree.  I then modified ghostscript to
look for ghost.ps and friends in /usr/gnu/lib/gs, so I don't have to have
them in the current directory.

It seems unlikely that everyone will agree on the 'proper' or 'best'
place to put stuff.  Perhaps we can agree on a standard set of macros
to use, and then it will be easy to configure the makefile or .h file
for a particular site.  install.h anyone?

  What's worse than biting into an apple and finding a worm?

  Finding a lawyer.

    _____     
   /_____\    Snoopy	"My dot-matrix does Postscript."
  /_______\   
    |___|     tekecs.gwd.tek.com!sopwith!snoopy		 qiclab!sopwith!snoopy
    |___|     sun!nosun!illian!sopwith!snoopy		parsely!sopwith!snoopy

andyc@inteloa.intel.com (T. Andrew Crump) (04/28/89)

In article <HAM.89Apr25211501@polya.Stanford.EDU> ham@polya.Stanford.EDU (Peter R. Ham) writes:
++ 
++ Is there a standard place to install gnu stuff in a 
++ Unix file system?  Maybe it doesn't matter, but there 
++ must be some places that are more maintainable than others.
++ I'm planning to install stuff in /usr/local/src/gnu
++ like /usr/local/src/gnu/gcc etc.
++ 
++ Does this make sens? Where do other people put this stuff?
++ 
++ Peter

Here at BiiN I have a /usr/gnu directory with /usr/gnu/bin and /usr/gnu/lib 
subdirectories.  In fact it looks like this:

 /usr/gnu
   bin
   lib
      emacs
         lock
         etc
         info
         lisp
            term
         contrib
      gcc-include
      ispell
   man

It works fine!
--

Andy Crump                                   BBBBBBBBB  IIII IIII NNN  NNNN TM
UUCP:   ...!tektronix!biin!andyc             BBBB  BBBB iiii iiii NNNN NNNN
DOMAIN: andyc@inteloa.intel.com              BBBBBBBBB  IIII IIII NNNNNNNNN
                                             BBBB  BBBB IIII IIII NNNN NNNN
BiiN  - An Information Systems Company       BBBBBBBBB  IIII IIII NNNN  NNN
2111 NE 25th Ave                           
Hillsboro, Oregon 97124-5961                
                                           

rowe@cme.nbs.gov (Walter Rowe) (05/01/89)

In article <HAM.89Apr25211501@polya.Stanford.EDU> ham@polya.Stanford.EDU (Peter R. Ham) writes:

> Is there a standard place to install gnu stuff in a 
> Unix file system?  Maybe it doesn't matter, but there 
> must be some places that are more maintainable than others.
> I'm planning to install stuff in /usr/local/src/gnu
> like /usr/local/src/gnu/gcc etc.

> Does this make sens? Where do other people put this stuff?

I would say that this is pretty much a standard configuration.
However, here at the bureau, we maintain a separate disk
partition for the GNU software under the path /usr/local/depot.

There are several advantages to this configuration:

1)  We have a local file server where we maintain this code.
    It is a separate partition on the file server, and our
    other hosts simply mount this disk across the NFS (we have
    SUN workstations with a 3/280 as our file server).

2)  This allows the other hosts to maintain their own /usr/local
    partitions in the usual manner (ie. localized src,bin,etc,...)

3)  This provides for a centralized place where we can maintain
    the source code since we keep it online all the time.  There
    is no reason to have multiple copies.  This only leads to the
    problems of "Who has the latest mods ?"

I would be interested to hear what others have to say concerning
this issue, as well.  I don't think that there is really one best
method for maintaining code of this nature.
--
Wally World
----------------------------------------------------------------------------
    I'm sorry folks, but the park is closed.  The moose out front
    should have told you so.   - John Candy in "Vacation"
----------------------------------------------------------------------------
NAME: Walter P. Rowe                 USMAIL: National Institute of Standards
UUCP: {...}!uunet!cme-durer!rowe             and Technology (formerly NBS)
ARPA: rowe@cme.nbs.gov                       Robotic Systems Division
                                             Rm. B-127, Bldg. 220  
TELE: +1 (301) 975-3452			     Gaithersburg, MD 20899
----------------------------------------------------------------------------
#include <standard.disclaimer>

prc@erbe.se (Robert Claeson) (05/08/89)

In article <162@sopwith.UUCP>, snoopy@sopwith.UUCP (Snoopy) writes:

> It seems unlikely that everyone will agree on the 'proper' or 'best'
> place to put stuff.  Perhaps we can agree on a standard set of macros
> to use, and then it will be easy to configure the makefile or .h file
> for a particular site.  install.h anyone?

Make that hardwired configuration a default that can be overriden
by using an environment variable. It simplifies things sooo much.
-- 
Robert Claeson, ERBE DATA AB, P.O. Box 77, S-175 22 Jarfalla, Sweden
Tel: +46 (0)758-202 50  Fax: +46 (0)758-197 20
EUnet:   rclaeson@ERBE.SE               uucp:   {uunet,enea}!erbe.se!rclaeson
ARPAnet: rclaeson%ERBE.SE@uunet.UU.NET  BITNET: rclaeson@ERBE.SE