| Getting Started | Documentation | Glish | Learn More | Programming | Contact Us |
| Version 1.9 Build 1556 |
|
Create AIPS++ source code updates.
exhale [-e] [-l]
exhale generates updates for the AIPS++ code distribution system. It
allows participating AIPS++ code development sites to maintain a slave
RCS repository which tracks changes to the master (see inhale (p
)).
exhale runs on the master AIPS++ host, aips2.nrao.edu, and is
responsible for producing the following update files which is deposits in
~ftp/pub/master (see §1.1.5):
)).
These update files have names of the form
master-mm.000.tar.gz, where mm is the two-digit
major, or base-release version number. The base release files are produced
infrequently, only by special request, and are preserved indefinitely.
) or having met whatever other criteria
is deemed suitable.
The base release file for the current major version is used as the timestamp for cumulative updates.
The update files are tar files which have been compressed by gzip for transmission to remote AIPS++ sites via ftp.
exhale also maintains a MANIFEST of all files distributed in each
incremental update, a LOGFILE of every invokation, and a CHKSUM
file used by inhale (p
) for verification of received files.
exhale has many bookkeeping tasks to perform on the infrequent occasions
when it is called upon to produce a new base release, mm.000
(see avers (p
)):
)) to
rescind or rename archive files and directories.
)) and
checkout (ao (p
)). This operation is only performed when
exhale is invoked with the -e option.
). This includes
rescinded files. Files created in the master since the previous base
release are simply copied to the archive.
).
) unless it is also invoked with the -l option.
exhale always ignores $HOME/.aipsrc (see getrc (p
)).
).
Latchkey mode is terminated as soon as exhale is invoked without the
-l option, even if there are no files to be updated.
The latchkey mechanism works by recording a version and timestamp on the
second line of the VERSION file. Normally inhale (p
) obtains
the current version number from the first line, but if invoked with the
-l option it reads the last line instead.
)), checkouts (ao (p
)),
header changes (am (p
)), deletions (ax (p
)), and renames
(amv (p
)) for the duration of its execution.
~ftp/pub/master/VERSION and setting the minor
version number to ``-''.
) filename cache, consolidating all
addenda into a single cache file.
Status return values correspond to the various phases of the operation
0: success
1: initialization error
2: error preparing a new base release
3: error creating incremental or base update
4: error creating cumulative update
5: error creating public release
6: installation error
The following aips2mgr cron entry runs exhale at 0630 and 1830 each night in Socorro.
30 06,18 * * * (. $HOME/.profile ; exhale)
The unix manual page for cron(1).
The unix manual page for ftp(1).
The unix manual page for tar(1).
The GNU manual page for gzip(1).
Section §1.4, AIPS++ accounts and groups.
AIPS++ variable names (§1.2).
avers (p
), AIPS++ version report utility.
ax (p
), AIPS++ code deletion utility.
getrc (p
), query AIPS++ resource database.
inhale (p
), AIPS++ code import utility.
av (p
), AIPS++ filename validation utility.
rcscat (p
), concatenate two RCS version files.
testsuite (p
), maintain the most recent good cumulative update.
xrcs (p
), verify the internal consistency of RCS version files.
Original: 1992/04/06 by Mark Calabretta, ATNF.