Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Aug 1996 17:01:48 -0700 (PDT)
From:      kientzle@netcom.com
To:        chuckr@glue.umd.edu (Chuck Robey)
Cc:        hua@chromatic.com, kientzle@netcom.com, freebsd-ports@freebsd.org
Subject:   Re: Linux async vs. FreeBSD sync (fwd)
Message-ID:  <199608290001.RAA15080@netcom11.netcom.com>
In-Reply-To: <Pine.OSF.3.95.960828141203.23206Q-100000@thurston.eng.umd.edu> from "Chuck Robey" at Aug 28, 96 02:14:57 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Earlier, I suggested changing the FreeBSD package system:
> An alternative package system that I've been using successfully
> for several months now is to install _every_ application in it's
> own private directory, and then populate
> /usr/local/{lib,bin,include,man} with appropriate symlinks.  For
> example, I have "ispell" installed in /usr/local/app/ispell ...

Ernest Hua was concerned about:
>     Transparent installation.  Many programs are not quite as
>     automatically configurable as GNU and company.  Therefore,
>     manual patching of path names (installation and execution)
>     are necessary.

This, of course, is always necessary.  Every program author has their
own `best' ideas about where their program files belong.  As a result,
you either let every program install itself wherever it wants (utter
chaos, in my experience), or you set up some standards for your own
system and modify programs to that standard.  Not all authors even
agree that their software belongs in /usr/local!

Chuck Robey responds:
> I don't understand completely why you'd do this.  If you want ispell in
> /usr/local/app/ispell/bin, then do the ports make as:
> make PREFIX=/usr/local/app/ispell

The problem, of course, is that this assumes the app you want to
install is in the ports system.  `ispell' (my example) is, but the
ports collection can't include _every_ piece of software.  The system
I'm using allows `FreeBSD packages' and `FreeBSD ports' to coexist with
hand-rolled ports, local software, etc.

Scott Blachowicz points out:
> But, if the PREFIX is actually compiled in, you might not have to symlink the
> rest of those directories (the actual binaries should have the explicit path
> to them).

Quite true.  In my scheme, I symlink /usr/local/bin, /usr/local/man/manX,
/usr/local/lib, and /usr/local/include.  My /usr/local/lib is used for
programming libraries; most apps refer to a `private' lib directory
(usually /usr/local/app/*/libexec or some such) that's compiled-in for
various custom files.  I'd actually forgotten about app-defaults, I'll
have to add that in; one of my goals is to divorce the `X11
distribution' from the locally-installed software so that the X11
system can be upgraded independently.  Moving individual applications'
app-defaults out of the /usr/X11 tree is an important part of that.

                                - Tim Kientzle



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