From owner-freebsd-ports Sun Mar 19 22:46:15 1995 Return-Path: ports-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id WAA05745 for ports-outgoing; Sun, 19 Mar 1995 22:46:15 -0800 Received: from silvia.HIP.Berkeley.EDU (silvia.HIP.Berkeley.EDU [136.152.64.181]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id WAA05736 for ; Sun, 19 Mar 1995 22:46:09 -0800 Received: (from asami@localhost) by silvia.HIP.Berkeley.EDU (8.6.9/8.6.9) id WAA02621; Sun, 19 Mar 1995 22:45:46 -0800 Date: Sun, 19 Mar 1995 22:45:46 -0800 Message-Id: <199503200645.WAA02621@silvia.HIP.Berkeley.EDU> To: jmz@cabri.obs-besancon.fr CC: mark@grondar.za, rgrimes@gndrsh.aac.dev.com, ports@FreeBSD.org In-reply-to: <9503192146.AA16842@cabri.obs-besancon.fr> (jmz@cabri.obs-besancon.fr) Subject: Re: Gripe of the week (tm) :-) From: asami@cs.berkeley.edu (Satoshi Asami/=?ISO-2022-JP?B?GyRCQHUbKEI=?= =?ISO-2022-JP?B?GyRCOCsbKEIgGyRCOC0bKEI=?=) Sender: ports-owner@FreeBSD.org Precedence: bulk * 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