Subject: Re: Request for Change: path to X11 dir?
To: Greywolf <greywolf@starwolf.com>
From: Todd Vierling <tv@duh.org>
List: tech-toolchain
Date: 01/07/2005 18:02:53
[tech-toolchain moved to Bcc: for this branch of the thread, as what I
mention below  is really pkgsrc notions]

On Fri, 7 Jan 2005, Greywolf wrote:

> There are a great many packages which look in /usr/local for libs which
> are present in /usr/X11R6, and this is broken as well (i.e. why reinstall
> libfreetype2 when it's part of X?!?).

If you're referring to pkgsrc installing freetype2 even though the OS
installed it, this is partly due to freetype2 being too old on many OS
installs.  This causes oodles of runtime linker headaches because some libs
are happy with the OS version, and some need a newer version -- and when an
app links to libraries which slurp in different versions, *boom*.

You can change this behavior by setting PREFER_PKGSRC in your mk.conf.  See
pkgsrc/defaults/mk.conf for the default setting -- you'd be wise to copy it
to your mk.conf and remove as few as possible from that list to avoid the
problem above.

Once it's out of the PREFER_PKGSRC list, pkgsrc will try to use the
OS-supplied version, *if* it's new enough for the building package in
question (minimum, freetype2 2.1.3).  The logic to determine your installed
version is in pkgsrc/graphics/freetype2/builtin.mk.

> Rather than tilt against the windmill of trying to get all the packages
> fixed, because someone in their infinite wisdom decided arbitrarily which
> packages are strictly X11 and which of them belong in localbase instead
> (we're putting WINDOW MANAGERS in $LOCALBASE!)

That choice was made to keep pkgsrc from clobbering OS-supplied X11 binaries
(and to simplify pathnames, as X11 uses too wide a variety of tree layouts
on different OS's).  It's the same reason that non-X11 binaries are not
installed in /usr by default.

-- 
-- Todd Vierling <tv@duh.org> <tv@pobox.com>