[23] in Locker Maintainers

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

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.

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