[comp.windows.x] Separating vendor/MIT X

tody@noao.edu (Doug Tody NOAO/IRAF CCS) (01/11/91)

From article <BGLENDEN.91Jan8231100@colobus.cv.nrao.edu>, by bglenden@colobus.cv.nrao.edu (Brian Glendenning):
> 
> I want to completely separate my vendors (DEC) X windows from the MIT
> distribution. So in site.def I set:
> 
> /* Place this X under /local */
> #define DestDir /* as nothing */
> #define UsrLibDir $(DESTDIR)/local/lib	...
> [deleted]

An elegant way to solve this problem (or rather avoid it) is to use
symbolic links to toggle between two different X versions such as vendor
and MIT.  The problem with installing into a nonstandard place is that
probably no matter what you do, eventually you will try to build some
piece of software or run some X client which breaks the rules, even if
you get everything set up right.

Using symbolic links is easy as the X runtime files will be found in only a
few places, i.e., /usr/{bin,lib,include}/X11, a few -llibX*.a libraries in
/usr/lib, and some manpages off /usr/man or /usr/catman if you install
manpages.  To set up both vendor and MIT versions of X you can 1) set up a
link such as /x11 pointing to an X11 runtime directory somewhere, e.g.,
/foo/x11.DEC, 2) tar off all the files listed above and replace by links
pointing *through* the /x11 link (e.g., /usr/bin/X11 -> /x11/bin/X11), 3)
switch the link /x11 to point to where you want to install the MIT runtime
files, e.g., /x11 -> /foo/x11.MIT, 4) perform a normal MIT install.  You can
then keep both the vendor and MIT versions of X online and switch between
them merely by changing the link at /x11.

Subject: Re: Separating vendor/MIT X
Newsgroups: comp.windows.x
References: <BGLENDEN.91Jan8231100@colobus.cv.nrao.edu>

From article <BGLENDEN.91Jan8231100@colobus.cv.nrao.edu>, by bglenden@colobus.cv.nrao.edu (Brian Glendenning):
> 
> I want to completely separate my vendors (DEC) X windows from the MIT
> distribution. So in site.def I set:
> 
> /* Place this X under /local */
> #define DestDir /* as nothing */
> #define UsrLibDir $(DESTDIR)/local/lib	...
> [...etc.]

An elegant way to solve this problem (or rather avoid it) is to use
symbolic links to toggle between two different X versions such as vendor
and MIT.  The problem with installing into a nonstandard place is that
probably no matter what you do, eventually you will try to build some
piece of software or run some X client which breaks the rules, even if
you get everything set up right.

Using symbolic links is easy as the X runtime files will be found in only a
few places, i.e., /usr/{bin,lib,include}/X11, a few -llibX*.a libraries in
/usr/lib, and some manpages off /usr/man or /usr/catman if you install
manpages.  To set up both vendor and MIT versions of X you can 1) set up a
link such as /x11 pointing to an X11 runtime directory somewhere, e.g.,
/foo/x11.DEC, 2) tar off all the files listed above and replace by links
pointing *through* the /x11 link (e.g., /usr/bin/X11 -> /x11/bin/X11), 3)
switch the link /x11 to point to where you want to install the MIT runtime
files, e.g., /x11 -> /foo/x11.MIT, 4) perform a normal MIT install.  You can
then keep both the vendor and MIT versions of X online and switch between
them merely by changing the link at /x11.

-- 
Doug Tody, National Optical Astronomy Observatories, Tucson AZ, 602-325-9217
UUCP: {arizona,decvax,ncar}!noao!tody  or  uunet!noao.edu!tody 
Internet: tody@noao.edu             SPAN/HEPNET: NOAO::TODY (NOAO=5355)