HORAE_UPDATE - A network updater for Athena, Artemis, and Hephaestus
horae_update [--force] [--proxy=<URL>] [--timeout=<seconds>]
[--mirror=<mirror>] [--auto] [--file=<tarball>]
[--prefix=<path>] [--help] [-h]
The horae_update script is used to check a web repository for the latest version of the horae package and download that package if it is more recent than what is installed on the local machine. This script can be run by hand from the command line or as a periodic, scheduled process (such as a cron job).
The script gets the listing of horae package releases from SourceForge and scrapes that web page for the most recent release. If the local machine needs to be updated, a SourceForge mirror will be contacted for downloading the package. Once downloaded, this script will upack the package and install it using the standard procedures for installing perl packages.
The full installation requires that the script is run as root. If run as a normal user, the package will be downloaded, upacked, and built, but not installed.
The script uses the LWP package, which is the set of Perl modules for doing network programming. If they are not found on the local machine, the CPAN module will be run in an attempt to download and install LWP. That requires running the script as root.
This is horae_update version 0.11.
--auto flag for
another way of avoiding the interactive step.
0.11 (11 December 2005) Using RSS file from SF to determine current
version number. Modified interaction with mirrors. Tweak
screen scraper for determining mirrors carrying tarball.
0.10 (14 September 2005) Added a --prefix flag that gets passed
along to Makefile.PL
0.9 (25 April, 2005) Added a screen scraper to present a menu of
available mirrors if the default does nothave the tarball.
Added the --auto flag.
0.8 (13 October 2004) Fixed a print-related bug that prevented the
script from doing the "make install" step. Removed the --devel
switch.
0.7 (3 August, 2004) Update to include new SF servers. Cycle
through SF servers looking for one that answers. Added a
configurable timeout. Added the --devel switch.
0.6 (25 May, 2004) Switch to LWP::UserAgent and add --proxy
argument, use SourceForge rather than Univ. of Washington for
downloads, add --mirror argument, wrote a pod
0.5 (12 April, 2004) Handle installed versions with rc in their
version numbers
0.4 (11 December, 2003) Changed some language and added markup so
that the log can be read efficiently using outline-mode in emacs
0.3 (6 May, 2003) Compare version numbers on local host and on
server, also check to see if a tarball is already in CWD, allow
several options (--help, --force, and --file) using Getopt::Long,
test return value of system call to unpack archive
0.2 (31 January, 2003) Use getstore function and check HTTP status,
improved regex for distinguishing a tarball from any other file
with the string "horae" in it
0.1 (28 January, 2003) Initial release
Bruce Ravel, bravel_REMOVE_THIS_@anl.gov
http://cars.uchicago.edu/~ravel/software/exafs/
copyright (c) 2004-2005 Bruce Ravel