[24] in Locker Maintainers
New SIPB-Athena platform (i386_linux3)
daemon@ATHENA.MIT.EDU (Aaron M. Ucko)
Sun Aug 2 21:25:38 1998
To: locker-maintainers@MIT.EDU
From: amu@MIT.EDU (Aaron M. Ucko)
Date: 02 Aug 1998 21:25:28 -0400
[NOTE: this message is based closely on Greg Hudson's announcement of
the new Athena 8.2 system types to this list.]
This fall, linux-dev hopes to release a new distribution based on Red
Hat 5.1 and Athena 8.2, which will use the new system type i386_linux3.
We would appreciate it if you took steps to make any lockers you
maintained support this platform. Possible approaches are:
* Make a symlink under arch from i386_linux3 to i386_linux2.
A defect of this approach is that any binaries rebuilt under
the new system types will not work on older machines.
* Make a symlink farm under arch/i386_linux3/bin pointing to
the binaries in i386_linux2. When binaries are rebuilt
under the new system type, replace the symlinks with actual
files.
* Rebuild the entire locker under the new system type,
creating entirely new arch directories.
Another possible approach is to do nothing, and let the new
ATHENA_SYS_COMPAT magic do its work. This approach is discouraged
because users will get a warning message at add time and because
the convenience symlink /mit/lockername/bin won't work.
As an entirely separate issue, here are some guidelines for making
your locker friendly to ATHENA_SYS_COMPAT:
* Avoid selecting directories under arch/ at runtime. For
instance, a script or binary under arch/sun4x_55/bin should
know to find supporting materials under arch/sun4x_55
without having to consult @sys or $ATHENA_SYS.
* If you must do runtime selection of arch directories for
reasons of convenience, use the athdir program. "athdir
/mit/lockername" will give the appropriate binary directory
(e.g. /mit/lockername/arch/sun4x_55/bin) for the current
platform, and "athdir -t foo -p /mit/lockername" will give
the appropriate directory of another type
(e.g. /mit/lockername/arch/sun4x_55/foo).
The Athena release also provides a C library
/usr/athena/lib/libathdir.a if you want to locate binary directories
from within a C program, but the interface to this library may change
in a future release.
Avoiding runtime dispatch altogether is the more robust approach; for
instance, if a NetBSD user runs a binary or script out of the Linux
arch directory using emulation, it should use supporting materials
from arch/i386_linux1 even if directories exist under arch/i386_nbsd1.