FUE (Fermi Unix Environment) is the means by which the Computing Division provides application software to our customers. The FUE framework includes the following features:
Many of the applications which have been packaged as FUE-compliant products are available in "native" format as part of the Linux operating system (e.g., emacs, tk/tcl, gcc, etc.) This leads naturally to the question: is there value in providing FUE-compliant packages for Linux when many (if not most) of our applications (or their functional equivalents) already exist on that platform?
The answer is complicated, and differs from product to product. There are four main categories of product which we can consider:
1) Inherent to the system
Some products are absolutely inherent to the Linux operating system, and should not be modified or altered by being bent into the FUE framework. This includes the gcc compiler (and related tools). On the other supported platforms, we do not repackage the compilers and system libraries. If we consider gcc to be the "vendor-supplied" compiler for Linux, then it follows that we should not repackage gcc.
2) Loose version tracking
For many, many products, version tracking is not a terribly important consideration. These products remain relatively stable over long periods of time, or they do not interact strongly with other applications. These include applications such as gzip, gunzip, and ghostview. If the Linux-supplied version of these products function adequately, then there is little value in providing a FUE-compliant duplicate release. (And, one may argue, if the Linux-supplied version does not function properly, it is doubtful that we would be able to supply one that works any better).
3) Tight version tracking
There are, however, products upon which many physics (or other) applications are built, and where version tracking is of considerable importance. These include scripting languages such as tcl and perl, where it is important to control precisely which version of the language you are using. For this class of product, FUE-compliant packaging provides a familiar and consistent means of enforcing version control between related packages.
4) Not supplied with Linux
The final category of products are those which are not supplied with the Linux operating system, such as the locally-developed ups (Unix product support package), fmb (Fermi Modular Backup), and systools (a set of useful tools) packages. For these products, the FUE-compliant packaging makes good sense.
Based upon the guidelines outlined above, the Computing Division will provide FUE-compliant products for the Linux flavor of Unix when it makes sense to do so. We will not supply FUE-compliant packages when a Linux version is already included with the operating system, and there is little or no advantage in installing a FUE-compliant duplicate release.
The FUE environment, including its most fundamental components ups and
upd, is undergoing a major rewrite in preparation for Run II computing.
The format of the ups database, the methods for describing product
dependencies, and the details of product initialization (setup) are all
being revised for ease of use and installation, speed enhancements, and
product quality improvement. (Note, the user interface to ups, namely the
setup
command, will remain essentially unchanged.)
We anticipate that the UPS II format will be deployed in early 1998. While the new UPS will be able to manipulate products packaged in the old format, all products will need to be re-released before they can take advantage of the new features of UPS II.
One of the biggest changes in UPS II will be the ability to for UPS to be aware of "native" packages, instead of requiring that you re-install the FUE-compatible version. This will be an especially important feature in the Linux environment.
Therefore, we will not attempt to provide Linux packages until we have successfully deployed UPS II. All(*) FUE-compliant packages that we develop for Linux will be provided in the new format.
Some FUE-compliant packages have already been ported, though not necessarily certified, for Linux. Many of these are available from the Fermi products link on the Linux web page at:
http://www.fnal.gov/cd/unix/linux/
including: cern v97a, cvs v1_8_1, fmb, fmss v1_2e, fulib v4_2, funkern v5_1b, futil v5_2, nplot v4_0, octave v2_0_5, slatec v0_5b, systools v5_0, tcl v7_4df, tclx v7_4adf, tk v4_0df, upd v2_8e (certified) ups v3_9 (certified).
These will remain available in the interim. As they are certified, the
packages will become available through the standard KITS distribution
system. (People with questions, concerns, or comments about the rewrite of
ups are encouraged to contact [email protected]
.)
Just as with any new Unix operating system, it will take some time to develop and deploy the application software for Linux. Our priorities will be:
Packages will be announced as they become available, and will be distributed from the KITS repository via upd.
Certain software products will not be made available for the Linux operating system. At the present time, these include:
1. EDT+: this legacy VMS-style editor is not available for Linux; and,
as stated in August 1997, support for this editor has been frozen to
existing releases and platforms; see
http://www.fnal.gov/docs/products/edt/
2. tpu and fermitpu: this legacy VMS-style editor will also not be made available for Linux
Lauri Loebel Carpenter, [email protected]
Head, Applications Group