[25] in Locker Maintainers

home help back first fref pref prev next nref lref last post

REMINDER: New SIPB-Athena platform (i386_linux3)

daemon@ATHENA.MIT.EDU (Aaron M. Ucko)
Wed Sep 23 01:20:28 1998

To: locker-maintainers@MIT.EDU
From: amu@MIT.EDU (Aaron M. Ucko)
Date: 23 Sep 1998 01:20:22 -0400

[This is a repost of mail I sent on August 2, and which everyone seems
to have ignored...]

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.

home help back first fref pref prev next nref lref last post