Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Mar 1995 22:45:46 -0800
From:      asami@cs.berkeley.edu (Satoshi Asami/=?ISO-2022-JP?B?GyRCQHUbKEI=?= =?ISO-2022-JP?B?GyRCOCsbKEIgGyRCOC0bKEI=?=)
To:        jmz@cabri.obs-besancon.fr
Cc:        mark@grondar.za, rgrimes@gndrsh.aac.dev.com, ports@FreeBSD.org
Subject:   Re: Gripe of the week (tm) :-)
Message-ID:  <199503200645.WAA02621@silvia.HIP.Berkeley.EDU>
In-Reply-To: <9503192146.AA16842@cabri.obs-besancon.fr> (jmz@cabri.obs-besancon.fr)

next in thread | previous in thread | raw e-mail | index | archive | help
 * In the simplest case this can be set in the Makefile with eg.
 *   MAKE_FLAGS=     BINDIR=${PREFIX}/bin MANDIR=${PREFIX}/man/man1 \
 *                   XAPPLOADDIR=${PREFIX}/lib/X11/app-defaults -f
 *   (taken from xloadimage)

Are you sure this is what the user wants?  I thought it is the Xt
library that determines where to look for app-defaults stuff, so
unless you built your libXt.so.* to look into someplace else, it would 
still try to open /usr/X11R6/lib/X11/app-defaults.  No?

The above looks like it will just change the directories this program
will get installed into.

And replying to Rod's remarks, you can't really do that unless Xt is
rewritten to be able to look for more than one directory for
app-defaults.  Also, imake thinks that where the standard X libraries
are is where you want new libraries to get installed, etc., so you
also need to rewrite the imake config files if you want to keep the
"standard" and "optional" X stuff in separate places.

What I did in order not to have to blow out the entire X tree is as
follows.  I created two directories, say /usr/local/X11/dist and
/usr/local/X11/new, and put the entire XFree86 distribution under the
former.  /usr/X11R6 is a symlink to /usr/local/X11/new, which has the
standard subdirectories (bin, include, lib, man), which are populated
with symlinks.

The depth that the symlinks are differ depending on the subdirectory,
as bin has symlinks right under it, lib has links for lib*, and then a
subdirectory X11, which is all symlinks except for app-defaults, which
has symlinks inside it.  man of course has subdirectories man1, man3,
etc., and then they have symlinks inside them.

(Of course you can implement this by creating the symlink tree under
/usr/X11R6, but I find it easier to have "dist" and "new" side by side
when I make links by relative paths.)

Anyway, ihe idea is to have "real" directories where your new X
program will install stuff, so that they won't go away when you
upgrade your XFree86.  I simply rename dist to dist.old or something
and extract the whole thing again when a new XFree86 comes out.  I
need to check to see if the links are up to date, but this isn't all
that hard.

Satoshi



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