Software Support
FUE meets Linux application software

-------------------------------------
Computing Division - Fermilab at Work - Fermilab Home
-------------------------------------

Does it make sense to provide a FUE package?

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.

Interaction with UPS for Run II

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].)

Priorities for providing FUE-compliant packaging for Linux

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:

  1. core FUE applications required before other FUE applications will function (ups, upd, etc.)
  2. supported physics applications required in a PC farm environment (cps, ftt, rbio, ocs, etc.)
  3. supported applications which are not supplied with the Linux environment (and for which there are no functional equivalents within the Linux environment)
  4. supported applications which are supplied with the Linux environment, but which would benefit from the tight version control between related products inherent in FUE (e.g., tk, tcl, perl)
  5. other supported applications

Packages will be announced as they become available, and will be distributed from the KITS repository via upd.

What will not be available for Linux

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

January 28, 1998