[23] in Locker Maintainers
New Athena platforms
daemon@ATHENA.MIT.EDU (Greg Hudson)
Tue Jun 23 14:33:38 1998
Date: Tue, 23 Jun 1998 14:33:31 -0400
From: Greg Hudson <ghudson@MIT.EDU>
To: locker-maintainers@MIT.EDU
The Athena 8.2 release includes two new Athena system types, sun4x_56
(Solaris 2.6) and sgi_62 (IRIX 6.2). Please take steps to make any
lockers you maintain support these two platforms, if you haven't
already. Possible approaches are:
* Make a symlink under arch from sun4x_56 to sun4x_55 and from
sgi_62 to sgi_53. A defect of this approach is that any
binaries rebuilt under the new system types will probably
not work on older machines.
* Make symlink farms under arch/sun4x_56/bin and
arch/sgi_62/bin pointing to the binaries in sun4x_55 and
sgi_53 respectively. When binaries are rebuilt under the
new system types, replace the symlinks with actual files.
* Rebuild the entire locker under the new system types,
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.