*BSD News Article 85621


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!news.wildstar.net!newsfeed.direct.ca!portc01.blue.aol.com!cliffs.rs.itd.umich.edu!howland.erols.net!cs.utexas.edu!news.unt.edu!replicant.csci.unt.edu!jackson
From: jackson@replicant.csci.unt.edu (Bruce Jackson)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: Where to put packages *not* from FreeBSD ?
Date: 29 Dec 1996 18:17:31 GMT
Organization: University of North Texas, Denton
Lines: 70
Message-ID: <5a6cjr$ghc@hermes.acs.unt.edu>
References: <stanbE2z02s.BIK@netcom.com> <59rvb3$1nm@klemm.gtn.com> <5a4t9e$5b2@nr1.vancouver.istar.net> <stanbE36GJD.2GL@netcom.com>
NNTP-Posting-Host: replicant.csci.unt.edu
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:33105

In article <stanbE36GJD.2GL@netcom.com>, Stan Brown <stanb@netcom.com> wrote:

> This discussion has drifted far wide of the original question (which
> I posted) and I still have not seen an answer to the original
> question, so let me try again.  Since FreeBSD puts things in
> .usr/loal, where should I putpackages that I wish to aintain
> *seperatly* from FreebSD. That is without any risk that any
> upgrading of FreeBSD (Binary or sourc via make worl) will mess with
> it?

This is more of a philosophical question than a technical one.  Over
the years running a lot of systems directories were added in an ad
hoc manner and when things began to get really ugly people would cry
for restoring sanity to our directory structure.  We found ourselves
with multiple versions of a lot of software that different groups were
dependent on so we had a lot of different trees.

> Also what determines if FreeBSD puts the package in /usr/local (as
> opposed to say /bin or /usr/bin)?

There are a few technical reasons why some things are installed in
/bin vs. /usr/bin since /usr is often on a different filesystem and
not available until /usr is mounted.  Everything else is a matter of
taste.  A directory structure I like is:

/usr/gnu
/usr/tex
/usr/misc
/usr/test
/usr/X11R6

An advantage to this is that users can PATH and MANPATH the
directories of software they use and avoid the ones they don't.
Someone who doesn't use tex probably wouldn't want the manpages for it
to be listed when they do a "man -k format"  I've never liked throwing
all the local software in /usr/local.  Now that some directory trees
like gnu and tex get so large they really deserve to be segregated.

One problem with this is that locally installed X11 applications go
into the default /usr/X11R6 directory so they have to be saved when
you upgrade.  To avoid problems you could choose something like:

/usr/local/gnu
/usr/local/tex
/usr/local/misc
/usr/local/test
/usr/local/X11

This structure is consistent and allows local X software to be
installed in a directory different from where the system puts things.
With this, another advantage is the you can still dump /usr/local to
archive all of the local additions.

Another structure to consider is /opt ala Solaris 2.  With this we
would have something like:

/opt/gnu
/opt/tex
/opt/test
...

I do like this structure but so far most of the people I talk to feel
that /opt should be reserved for commercial software and locally
written or supported software should go elsewhere.  Since FreeBSD does
not use /opt at all this hierarchy would be perfectly safe from
collisions from future FreeBSD upgrades though.

--
 Bruce Jackson    b.a.jackson@ieee.org
 http://replicant.csci.unt.edu/~jackson/