*BSD News Article 61124


Return to BSD News archive

Newsgroups: comp.unix.bsd.freebsd.misc
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.OZ.AU!news.ecn.uoknor.edu!news.eng.convex.com!newshost.convex.com!news.duke.edu!news.mathworks.com!newsfeed.internetmci.com!news.exodus.net!news.wni.com!noc.netcom.net!news3.noc.netcom.net!netcom.com!kientzle
From: kientzle@netcom.com
Subject: Re: What is meant by `port' (Was Re: Modem program for FreeBSD
Message-ID: <kientzleDMKvFC.C2x@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <4elddo$ee8@cdc2.cdc.net> <4esrr5$79b@mark.ucdavis.edu> <xcdivhmwfvi.fsf_-_@woodlawn.uchicago.edu> <4f4h2p$oub@mark.ucdavis.edu>
Date: Sat, 10 Feb 1996 20:54:47 GMT
Lines: 36
Sender: kientzle@netcom21.netcom.com

In article <4f4h2p$oub@mark.ucdavis.edu>,
David E. O'Brien <obrien@nob.ucdavis.edu> wrote:
>(2) the port fixes the Makefile for FreeBSD so that install paths to fit
>the 4.4BSD hier(7) scheme.  If you ftp'ed and compiled Minicom from
>sunsite, you got things placed in /usr/bin, /etc, and /usr/man.

Unfortunately, although restricting new installs to /usr/local is
a vast improvement over what you describe, I still find it lacking.
I've been tinkering with the following scheme:

For each program/system/application/whatever, create

   /usr/local/app/<program>/

with subdirectories--bin, lib, libexec, man/man1, etc.--for that
program.

The stock /usr/local/bin, /usr/local/man/man1, etc, are simply
populated by links.  For example, my /usr/local/bin is periodically
refreshed by (essentially):
   cd /usr/local/bin; rm *; ln -s /usr/local/app/*/bin/* .

The big advantage is that I can now relatively easily _remove_
applications from my system.  I often install software, play with
it, and later decide the free disk space is worth more than the
app.  Tracking down a bunch of pieces scattered over /usr/local/bin,
/usr/local/lib, /usr/local/etc, ... is tedious and error-prone.
(When was the last time you looked at /usr/local/lib and said
``what program does THIS belong to?'')

The current port scheme does try to maintain a database of all the
pieces of each installed program, but that's only convenient if
someone has already built the necessary list of pieces.  Confining
the splatter for each program seems a cleaner approach.

                                        - Tim