[752] in NetBSD-Development
/srvd, shared libraries, and the X11 tree
daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Wed May 3 19:10:35 1995
From: ghudson@MIT.EDU
Date: Wed, 3 May 95 19:10:02 -0400
To: netbsd-dev@MIT.EDU
First, a while back I changed the Athena installation script to create
a symlink /srvd to /afs/.sipb.mit.edu/system/i386_nbsd1, and then link
directories like /usr/athena to /srvd/usr/athena. It also links
/usr/src to /srvd/usr/src. For this to work, /srvd/usr/src needs to
have a source tree in it, so I adjusted the volume layout of
/mit/netbsd/dev/current-source a little bit and made /srvd/usr/src a
mountpoint to project.netbsd.csrc. (It can't be a symlink, since we
make the packing lists out of that directory, and /usr/src needs to be
a directory if someone doesn't run the Athena installation script.)
If we ever have well-defined releases and a separate release source
tree, /srvd/usr/src should be the release source tree and
/mit/netbsd/dev/current-source/src (or whatever) should be the
development source tree. For now, they're mountpoints to the same
volume.
Second, I would like to adopt the following principles for dealing
with shared libraries and the X11 tree:
* We will create a new directory /usr/athena/lib/shared, which
will contain all "miscellaneous" shared libraries which
don't belong on the base system or in /usr/X11/lib (or in
/usr/athena/lib if we ever build shared versions of Athena
libraries).
* /usr/athena/etc/dm will run something to make sure that the
hints database contains all the libraries in /usr/X11/lib
and /usr/athena/lib/shared (and /usr/athena/lib if we wind
up with any libraries there). (It can use ldconfig -r to
figure out what directories are currently in the cache.)
This way we won't have a backward-compatibility problem (I
think all of our current users run dm), and we'll solve the
problem of the machine coming up when AFS servers aren't
accessible and not having the right shared libraries.
rc.athena will also include /usr/athena/lib/shared in its
ldconfig line, of course.
* We will move all of our Motif stuff into the motif1.2
locker, except for mwm and the shared library (which goes in
/usr/athena/lib/shared). Likewise, the xpm shared library
will go in /usr/athena/lib/shared.
This will reduce the amount of extra changes we make to the /usr/X11
source tree, and also reduce the amount of third-party material we
have in the sipb cell.
Objections? Comments?