Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Mar 1995 20:18:55 +0200
From:      Mark Murray <mark@grondar.za>
To:        asami@cs.berkeley.edu (Satoshi Asami/=?ISO-2022-JP?B?GyRCQHUbKEI=?= =?ISO-2022-JP?B?GyRCOCsbKEIgGyRCOC0bKEI=?=)
Cc:        jmz@cabri.obs-besancon.fr, rgrimes@gndrsh.aac.dev.com, ports@FreeBSD.org
Subject:   Re: Gripe of the week (tm) :-) 
Message-ID:  <199503201818.UAA28034@grunt.grondar.za>

next 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?

Hmmm. This seems like a half decent first approximation. My original gripe
was to get the user-generated X binaries out of /usr/X11R6, and if we have to
leave a symlink in this (X11R6) tree to the .../app-defaults, it is a
lot closer than not doing it at all.

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

That is what I was aiming at (partially).

> 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 is wrong with symlinking the "standard" and "local" app-defaults
together? (asks an X neophyte :). Surely even if you upgrade your X
through a recompile, you will want to keep your hard-worked-on defaults?

> 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.

Seems to me that with not _too_ much work we could do a lot better than
that...?

> 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.

Sure. It is possible to go _crazy_ and do what you like with these
symlinks, but life gets awfully messy. Lets just do it _right_.

> 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.

It is very manual. With a clear separation of the two trees, and a _known_
grey area (app-defaults) (which is kinda-like /etc in that it contains all
your local setups, kluges, preferences etc, no?), surely life will be a lot
easier?

M

--
Mark Murray
46 Harvey Rd, Claremont, Cape Town 7700, South Africa
+27 21 61-3768 GMT+0200



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