Date: Tue, 19 Mar 2002 10:15:09 +0200 From: Peter Pentchev <roam@ringlet.net> To: Brad Huntting <huntting@glarp.com> Cc: John E Hein <jhein@timing.com>, hackers@FreeBSD.ORG Subject: Re: ports & DESTDIR (was: STLPORT and gcc3 (openoffice porting)) Message-ID: <20020319101509.E9136@straylight.oblivion.bg> In-Reply-To: <200203182150.g2ILo5s60026@hunkular.glarp.com>; from huntting@glarp.com on Mon, Mar 18, 2002 at 02:50:05PM -0700 References: <15510.8721.546546.172867@brain.timing.com> <200203182150.g2ILo5s60026@hunkular.glarp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Mon, Mar 18, 2002 at 02:50:05PM -0700, Brad Huntting wrote:
>
> > bsd.ports.mk uses DESTDIR differently (wrongly IMO) than FreeBSD's
> > buildworld or the rest of the world as far as I have seen. See (and
> > lobby for) ports/28155. Unfortunately, the fix in 28155 will make
> > DESTDIR behave the "right" way, and thus anyone expecting the "wrong"
> > behavior will be surprised. OTOH, any ports using DESTDIR will do the
> > wrong thing now anyway in many cases (see the How-To-Repeat in PR 28155).
>
> Along these lines, we have a rather twisted setup at our shop. We
> put 3d party software such as ports in directories with pathnames
> like:
>
> /nfs/i386+OpenBSD2/teTeX-1.0.7/{bin/,etc/,share/,...}
>
> Using symlinks (and amd) it appears to the users as if it were
>
> /nfs/teTeX -> teTeX-1.0.7
> /nfs/teTeX-1.0.7/{bin/,etc/,share/,...}
>
> Since these are mounted read-only, we have to install the port in
> another directory e.g:
>
> /mnt/foo/nfs/teTeX-1.0.7/
>
> In a perfect world this would just mean using
>
> DESTDIR=/mnt/foo
> PREFIX=/nfs/teTeX-1.0.7
>
> But, this will cause the port to look for all it's _dependencies_
> in /nfs/teTeX-1.0.7 when they are really in /nfs/some-port-name.
Actually, just setting PREFIX will *not* make a port look for its
dependencies there. Ports look for their dependencies in either LOCALBASE
or X11BASE, depending on whether the port itself uses X or not.. However,
this does not help much in your particular case, since both LOCALBASE and
X11BASE assume a single directory tree where all the header files and libs
are located, and in your case, there are many such directory trees..
Hmf.. the best that I can come up with is some kind of a temporary directory
providing symbolic links to all the headers and libs in all those dirs;
this directory should be torn down and rebuilt before each new port build
to make sure the symlinks are in sync with reality; and then there might be
a problem with programs which hard-code library locations (are there any
of those still around?) and do not trust rtld and ldconfig..
G'luck,
Peter
--
Peter Pentchev roam@ringlet.net roam@FreeBSD.org
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
When you are not looking at it, this sentence is in Spanish.
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (FreeBSD)
Comment: For info see http://www.gnupg.org
iEYEARECAAYFAjyW840ACgkQ7Ri2jRYZRVOw4gCfQpR3TBPAxQzfvnU+sxLqi7DI
aXUAoIKW8pweK4byMN7N+tbPFCoLT5Yk
=uKBT
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020319101509.E9136>
