
			      FRESHRPMS

		      Version 0.7.3 [31-Mar-98]

	       Dirk Lutzebaeck <lutzeb@cs.tu-berlin.de>


INTRO
-----

Freshrpms fetches RPM packages from FTP servers which are newer than
the ones installed on your system. It makes only sense on a UNIX
system which uses the RedHat package management system (look at
http://www.rpm.org and http://www.redhat.com).

Freshrpms is a Perl5 script which fetches RPM packages from FTP
servers which version numbers are higher than the ones installed on
your system. freshrpms does not install any RPMs by itself but makes
use of the rpm package manager program to determine which RPM packages
are currently installed. freshrpms uses a configuration file to
accomplish its task which defines multiple FTP servers, directories to
look for RPMs, local download directories and local archive
directories for installed RPMs. It can also garbage collect local
archived RPMs which are older than the currenly installed
ones. freshrpms prints the names of the packages which are newly
retrieved. Exit status is non-zero if any severe failures happen but
not for FTP operation failures.  freshrpms requires the following
Perl5 modules which do all the FTP work:

       * libnet
       * IO		if you use Perl < 5.004
       * Data-Dumper	if you use Perl < 5.004


INSTALLATION
------------

Since you're on an RPM system installation is quite simple after you
have downloaded the needed packages libnet and possibly IO and
Data-Dumper from

ftp://ftp.cs.tu-berlin.de/pub/local/flp/lutzeb/software/contrib/i386

You might find newer versions in the RedHat contrib directory
ftp://ftp.redhat.com/pub/contrib/i386 but I can't guarantee them to
work with this version of freshrpms. (esp. libnet-1.0502-2.i386.rpm
seems not to be build correctly).

# rpm -i IO.pm-1.15-2.i386.rpm
# rpm -i libnet-1.0502-4.i386.rpm
# rpm -i Data-Dumper.pm-2.07-2.i386.rpm
# rpm -i freshrpms-0.7.2-1.i386.rpm

You might do this even more elegantly by using rpm's remote FTP load
feature (paste this into your root shell):

rpm -i ftp://ftp.cs.tu-berlin.de/pub/local/flp/lutzeb/software/contrib/i386/IO.pm-1.15-2.i386.rpm
rpm -i ftp://ftp.cs.tu-berlin.de/pub/local/flp/lutzeb/software/contrib/i386/libnet-1.0502-4.i386.rpm
rpm -i ftp://ftp.cs.tu-berlin.de/pub/local/flp/lutzeb/software/contrib/i386/Data-Dumper.pm-2.07-2.i386.rpm

All this assumes that you are on an Intel based system.


CHANGELOG
---------

Version 0.7.3 [31-Mar-98]
  - added Cyrix CPU compatibility (iE86)
  - made the MD5 check work under non-interactive shells

Version 0.7.2 [19-Mar-98]
  - added -P, --nopgp option to avoid PGP signature check if PGP is
    not installed on your system

Version 0.7.0/1 [17-Mar-98]
  - updated for RH5.0
  - additionally check noarch architecture besides the specified binary
    architecture
  - allow alphanumeric characters and dots containing releases strings
    of packages (eg. rpm-2.4.10-1glibc.i386.rpm)
  - fixed a bug in version compare
  - allow FTP reget for partial downloads (maybe libnet has a bug here)
  - checks PGP signature / MD5 sum after download
  - former interactive mode is now default (seems that people are using
    this more). Use -b or --batch for crontab or script based freshrpms runs
  - show the size of the package to be downloaded and show download time
    after successful download
  - show the remaining download time and speed indicator while downloading
    note: this does a fork and periodically checks the current file size
          against the download size
  - specify the root directory for 'rpm' command using option -r, --rootdir
  - verbose option (-v) now shows why it is downloading a newer version

Version 0.6.1 [16-Jul-97]
  - added section on installation in README file
  - some typos

Version 0.6.0 [15-Jul-97]
  - addition of the match mode which fetches ls-lR files,
    searches for rpm directories and checks with the current directory and
    system installed rpms; ls-lR files are cached for one day in /tmp
  - a remote directory can now be checked for new rpms by specifying
    a host and a directory on the command line
  - the specification of architecture, login account and password
    in the HOST statement can now be omitted as a sequence
    in the configuration file
  - the rpm machine architecture is now derived from the uname command
  - the architecture can be forced with --arch <architecture>
  - it is now possible to check for rpms which are not installed in
    the system via the --not-installed option
  - packages can be included or excluded from the check via the command
    line using option --include and --exclude resp.
  - NOGC command also works now for rpms which are system installed
  - INSTALLEDRPMS is deprecated, use ARCHIVE instead for additional
    directories to be garbage collected
  - if SIGINT is received during a download the corresponding file is
    deleted
  - existence of the config file is now optional


Version 0.5.0 [11-Jun-97]
  - added --no-fetch option
  - added --interactive option
  - added --check-archive option
  - added --debug option
  - added --verbose option
  - added NOGC statement
  - added INCLUDE statement
  - if an FTP command fails print the failure message

Version 0.4.1 [6-Jun-97]
  - fixed comment bug in conf file
  - there is no verbose option

Version 0.4.0 [23-May-97]
  - public release
