next up previous contents
Next: uninstall_cuter Up: Installing and managing CUTEr Previous: install_cuter   Contents

update_cuter

As it is our intention to upgrade over time (or fix if necessary) the tools supplied in the CUTEr package, a mechanism for keeping an installed system up to date, and to install newer instances of the tools, is required. This is the role of the update_cuter script. If all goes well, you should not have to use update_cuter immediately. Announcements of bug-fixes and enhancements will be posted and indicated on the website. There are two forms of the command.

In its first form, update_cuter takes two command-line options, as follows

prompt% update_cuter filename

where filename is the name of the file to upgrade, possibly specified with a path. Suppose, for example, that the file ufn.f has been improved so as to perform its task faster, upgrading your current instance of CUTEr is achieved by typing

prompt% update_cuter ufn.f

at the command prompt. This command first copies the new source file to proper location, which is in this case $CUTER/common/src/tools. If there are currently both single and double precision instances, you will be asked to choose which you would like to update; if there is only one instance under $MYCUTER, the precision will be chosen accordingly. The script then casts and compiles the incoming file, and finally updates the CUTEr library ($MYCUTER/double/lib/libcuter.a). Of course, corresponding actions are performed depending on the type of filename: if it is a script, it is only cast, and stored in its proper place, and if it is a documentation file, it is simply moved to $CUTER/common/doc.

In its second form, update_cuter takes three command-line options, described as follows

prompt% update_cuter -a filename

where filename is the name of a file describing a list of CUTEr files to be upgraded. The file filename should contain

  1. on its first line, the directory where the new (upgraded) files can be found, and
  2. on subsequent lines, the names of those upgraded files, possibly preceded by their destination directory. A single file per line should be given.
Note that preceding the file names by their destination directory is not compulsory; in fact, the path is ignored and update_cuter tries to determine the correct path for itself. As an example, suppose that the tools ufn.f, install_cuter, compiler.cry.unc.f90 and sdknit.pro have been upgraded, and are temporarily stored in /home/upgrade. A corresponding input file might be

/home/upgrade
$CUTER/common/src/tools/ufn.f
$CUTER/build/scripts/install_cuter
compiler.cry.unc.f90
sdknit.pro

but exactly the same result would be produced by the simpler file

/home/upgrade
ufn.f
install_cuter
compiler.cry.unc.f90
sdknit.pro

or by the deliberately confusing file

/home/upgrade
/usr/share/junk/ufn.f
/home/upgrade/install_cuter
/home/downgrade/compiler.cry.unc.f90
/opt/degrade/sdknit.pro

As above, CUTEr copies these files from /home/upgrade to their proper location, prompts for the precision required (if necessary), casts and, where necessary, compiles the incoming files, and updates the specified instance stored under $MYCUTER.

The additional command-line option -m forces update_cuter to simply move the files to their proper location and to skip compilation. Help may be obtained from update_cuter through either of the -h, -help or -help flags.

To summarize, the complete synopsis of update_cuter is as follows

update_cuter [-h | -help | -help] [-m] [-a listFile | newFile]

In the situation where CUTEr has been unpacked but no further installation steps were performed, or all current instances were deleted, update_cuter still can move the updated source files to their proper location, skipping the compilation phase. The same syntax as above can be used.

Caution: attention should be paid to the fact that update_cuter works by source-ing the UNIX commands from the file $MYCUTER/precision/config/cmds (where precision is the required precision) and that these commands define the temporary directory used during compilation phase. In most cases, this temporary directory is simply /tmp. This temporary directory must not be the same as that specified in the first line of update_cuter's input file (/home/upgrade in the examples above).


next up previous contents
Next: uninstall_cuter Up: Installing and managing CUTEr Previous: install_cuter   Contents
Dominique Orban 2005-03-24