rhupdate - Check for updates to RedHat RPMs
rhupdate [ pattern ] [ --download [dir] | --list ] [ --options ]
Checks for updates for installed RPMS on RedHat's updates site.
No, I'm not an RPM Fan. I don't like RPMs, I like building things myself. I use RedHat, and RedHat is easier to deal with (as an OS) when you use the RPMs the RedHat puts-out. I'm not at all interested in supplying an RPM version of rhupdate.
Requires Net::FTP and Pod::Usage Perl modules to be installed. On some
versions of RedHat you will need to update File::Spec before Pod::Usage will
install. (Even using CPAN.) See man CPAN for information on installing Perl
modules.
NOTE: since version strings aren't simple numerics, I do my best to check them, but use your own judgement.
Install updates at your own risk.
See http://www.redhat.com/support/docs/howto/kernel-upgrade/kernel-upgrade.html for information on installing the kernel-* packages. Failure to install the Linux Kernel properly will result in a non-bootable machine. Use --exclude kernel to skip notification and download of Kernel packages.
(see INSTALL file)
http://www.jjminer.org/rhupdate/INSTALL
1) Run "configure"
$ ./configure
Alternate installation prefixes can be specified with --prefix
(default: /usr/local):
$ ./configure --prefix=/usr/local/gnu
Other options are available from configure, run configure --help for more
information. (Although, only the directory options are applicable.)
2) Install (you must be able to write to the installation directories, usually
/usr/local/bin and /usr/local/man/man8)
$ make install
http://www.jjminer.org/rhupdate
Stable
Net::FTP doesn't recognize that the anonymous
login failed (I'm not an FTP expert, so I don't know whose fault this is.) The
login appears to succeed, and you get this error when it tries to change
directories.
If you upgrade to the latest beta, the error message is fixed, and when you do --retry it will properly retry on this error.
Net::FTP or Pod::Usage?The way I prefer to do it comes right off the CPAN manpage (try man CPAN):
# perl -MCPAN -e shell
(answer all the questions to the best of your knowledge), and type install
Net::FTP (Or Pod::Usage, or any other Perl module you want.)
For example:
$ rhupdate --list --include libstdc++
Argument to --include "libstdc++" is not a valid regular expression.
Please try again.
$ rhupdate --list --include 'libstdc\+\+'
Listing Updates..
No updates available.
I am considering changing this behavior for the 2.0 release.
(See ChangeLog file)
http://www.jjminer.org/rhupdate/ChangeLog
2003-06-09 10:26 miner
* rhupdate.pl (1.102):
Added a --port option to specify the port that the FTP server is
running on. Thanks to James Bromberger
for the patch.
2003-03-18 16:50 miner
* rhupdate.pl (1.101):
If the --dir parameter is given as a relative path, it is relative to
the home directory of the user who logged in.
Bug spotted by Kevin Kettner
2003-01-08 15:07 miner
* rhupdate.pl (1.100):
Bumping version to 1.10 beta (maybe this will become 2.0 beta??)
2003-01-08 15:04 miner
* rhupdate.pl (1.99, VERSION_1_9):
Bumping version to 1.9
2003-01-07 19:38 miner
* rhupdate.pl (1.98):
Fixed a typo in the docs
2003-01-07 11:15 miner
* rhupdate.pl (1.97):
Fixing a bug in said POD.
2003-01-07 11:14 miner
* rhupdate.pl (1.96):
Added a FAQ about include/exclude/add regexes.
2003-01-07 11:05 miner
* rhupdate.pl (1.95):
Tweaking the regex checks.
2003-01-07 10:23 miner
* rhupdate.pl (1.94):
Reverting back to the documented behavior of --include/exclude/add.
Added a test to make sure that the regexes are valid.
2002-12-19 19:20 miner
* rhupdate.pl (1.93):
Don't try to use undefined variables, again.
2002-12-19 19:06 miner
* rhupdate.pl (1.92):
Added a FAQ option about adding an install option.
2002-12-19 16:23 miner
* rhupdate.pl (1.91):
Making the server version index only look in the applicable
directories. Fixes the problem where an incorrect version would be
downloaded because there was an upgrade for a foreign architecture.
Reported by Bob Plankers
and Jonas Pasche
2002-12-19 15:17 miner
* rhupdate.pl (1.90):
Oops, don't try to regex things that aren't defined.
2002-12-19 14:52 miner
* rhupdate.pl (1.89):
Fixed the include/exclude regex bug.
Reported by Bob Plankers
2002-02-12 17:21 miner
* rhupdate.pl (1.88):
Correcting a counting error when there were updates for other
architectures.
Pointed out by Bob Plankers
and Jonas Pasche
2001-11-30 17:35 miner
* rhupdate.pl (1.87):
Handling the condition where there is more than one RPM for a specific
package.
Pointed out by Steve Tanner
2001-11-12 17:51 miner
* rhupdate.pl (1.86):
Added some comments about My love of RPMs.
2001-10-31 17:18 miner
* rhupdate.pl (1.85):
Bumping version up to 1.9 beta.
2001-10-31 17:11 miner
* rhupdate.pl (1.84, VERSION_1_8):
Bumping to version 1.8 release.
2001-10-31 10:10 miner
* rhupdate.pl (1.83):
Fixed a bug in resuming a failed download discovered by
Ivan Borissov Ganev
2001-10-29 17:03 miner
* rhupdate.pl (1.82):
Added a --timeout option to specify the FTP timeout.
2001-10-28 11:48 miner
* rhupdate.pl (1.81):
Oops, checking to see if $add is defined before using it is a good thing..
2001-10-26 17:55 miner
* rhupdate.pl (1.80):
Finally straightened out the add code, and made it work again.
2001-10-26 17:01 miner
* rhupdate.pl (1.79):
Fixed a bug that caused errors when the powertools update directory was
missing (as it is in the RH7.2 updates.)
2001-10-24 22:02 miner
* rhupdate.pl (1.78):
Ooops, fixed a bug in the adding code.
2001-10-24 11:10 miner
* Makefile.in (1.2):
Added targets to create the destination directories if they don't exist.
2001-10-23 23:24 miner
* rhupdate.pl (1.77):
Further fixing of typos in the --add documentation. doh.
2001-10-23 23:11 miner
* rhupdate.pl (1.76):
Updated the documentation for --add
2001-10-23 23:10 miner
* rhupdate.pl (1.75):
Added a --add package function to add a specific package.
2001-05-29 17:42 miner
* rhupdate.pl (1.74):
Fixing some documentation errors.
Pointed out by Paul Willams
2001-05-22 11:29 miner
* rhupdate.pl (1.73):
Bumping version to 1.8 beta.
2001-05-22 11:26 miner
* configure.in (1.6), rhupdate.pl (1.72):
Code to have configure set the locale to 'en' if locale cannot be found,
also added a --locale option to force the locale, and a default for the
locale to 'en' if for some reason locale doesn't have the standard output.
(Suggested by Troy Engel )
Fixed the spelling of redhat-release in the --rhversion documentation.
(Spotted by Bob Plankers )
2001-05-19 14:57 miner
* rhupdate.pl (1.71, VERSION_1_7):
Bumping to release 1.7 since things have been stable.
2001-05-04 00:19 miner
* rhupdate.pl (1.70):
BUGFIX: Fixing the case where we've been given an absolute path, but the
architecture doesn't match the actual machine.
2001-05-04 00:14 miner
* rhupdate.pl (1.69):
BUGFIX: Evidently not everyone agrees on the format of the LIST command.
Make our best guess.
(Pointed out by Michael Hoffman )
2001-04-29 21:32 miner
* rhupdate.pl (1.68):
Added the ability to specify --include or --exclude more than once to
include/exclude more than one pattern.
2001-04-28 13:52 miner
* rhupdate.pl (1.67):
Added a --absolute option to specify that the --dir option is an absolute
path: we should not attempt to change in to the architecture directories or
anything.
BUGFIX: Added a check to see if MDTM is a supported operation before
attempting to use it.
2001-04-26 19:17 miner
* rhupdate.pl (1.66):
Added a TODO for local update directories.
2001-04-26 11:48 miner
* rhupdate.pl (1.65):
Bumping version to 1.7 beta before I forget.
2001-04-26 11:44 miner
* rhupdate.pl (1.64, VERSION_1_6):
Bumping version to 1.6
2001-04-26 11:38 miner
* rhupdate.pl (1.63):
Added support for updating "powertools" packages on servers that use the
"new" (now a month old) layout for the updates directories.
2001-04-24 11:01 miner
* rhupdate.pl (1.62):
Updates to the FAQ about the anonymous login problem.
2001-04-16 17:54 miner
* rhupdate.pl (1.61):
Fogot to update the TODOs after added version string comparisons.
2001-04-16 17:47 miner
* rhupdate.pl (1.60):
Added a FAQ section to the documentation since I get a lot of similar
questions.
2001-04-13 11:35 miner
* rhupdate.pl (1.59):
BUGFIX: Handling the way RedHat's FTP server rejects anonymous
connections when it is full.
BUGFIX: Some FTP servers only allow SIZE to be used on binary files, some
don't allow it at all -- check before trying to use it.
2001-04-12 23:58 miner
* rhupdate.pl (1.58):
Documentation update.
2001-04-12 23:53 miner
* rhupdate.pl (1.56):
--hash now accepts a parameter, the number of bytes per hash, --download now
resumes downloads that previously failed, compares version numbers instead
of just relying on differences.
(Excellent patch from Jason Grimes )
2001-04-04 11:20 miner
* rhupdate.pl (1.53, VERSION_1_5):
Setting version to 1.5.
2001-04-04 11:13 miner
* configure.in (1.5), rhupdate.pl (1.52):
Reworded the note about Net::FTP and Pod::Usage because some people had
problems understanding it.
2001-04-03 10:01 miner
* rhupdate.pl (1.51):
Added --version option
Fixed-up the error exit status and the --help processing.
2001-04-01 14:07 miner
* rhupdate.pl (1.50):
Added a comment about Pod::Usage depending on File::Spec.
2001-04-01 13:36 miner
* rhupdate.pl (1.49):
Checking to make sure that we're looking at a valid architecture.
2001-04-01 03:08 miner
* configure.in (1.4), rhupdate.pl (1.48):
Set the location of "locale" via configure.
Deal with locale not returning anything interesting.
2001-03-29 19:10 miner
* rhupdate.pl (1.47):
Added yet another TODO.
2001-03-29 13:51 miner
* rhupdate.pl (1.46):
Updated to change in to the correct locale/etc (redhat changed their updates
layout.)
2001-03-28 23:31 miner
* configure.in (1.3), Makefile.in (1.1), INSTALL (1.1), rhupdate.pl (1.45):
Changed the installed program name to just rhupdate, not rhupdate.pl
Added Makefile.in, manpage, install-sh, and INSTALL to the distribution.
Set up configure to create the Makefile.
The Makefile now correctly installs the application.
Updated documentation to reflect the new installation method.
2001-03-28 21:38 miner
* rhupdate.pl (1.44):
Added some rudimentary install instructions and a TODO about an actual
install make target.
2001-03-28 21:28 miner
* rhupdate.pl (1.43):
Implementing/documenting --all, to download all available updates, not just
those installed and different.
2001-03-28 21:02 miner
* rhupdate.pl (1.42):
Added documentation for the download directory option.
2001-03-28 20:48 miner
* rhupdate.pl (1.41):
Added powertools to the TODOs.
2001-03-28 20:39 miner
* rhupdate.pl (1.40):
Add a note to the docs about the include/exclude precedence.
2001-03-28 20:35 miner
* rhupdate.pl (1.39):
BUGFIX (from 1.38): No need to check for existance of the download
directory if we're not downloading.
2001-03-28 20:30 miner
* rhupdate.pl (1.38):
Added the ability to specify a download directory with the --download
option.
2001-03-26 07:46 miner
* rhupdate.pl (1.37):
Add a note to the docs about version numbers.
More TODOs.
2001-03-25 12:36 miner
* rhupdate.pl (1.36):
More TODOs.
2001-03-25 11:36 miner
* rhupdate.pl (1.35):
Added another TODO.
2001-03-25 11:33 miner
* rhupdate.pl (1.34):
Added TODOs to the POD so people know what I'm thinking about.
2001-03-25 11:01 miner
* rhupdate.pl (1.33):
BUGFIX: Errors is the retry code caused things not to work when --retry
wasn't specified.
BUGFIX: Handling bad hostnames properly.
2001-03-22 20:12 miner
* rhupdate.pl (1.32):
Add --passive option to FTP is passive mode.
2001-03-22 15:22 miner
* rhupdate.pl (1.31):
Added --retries and --hash options.
--retries specifies the number of retries to the FTP server (or infinite.)
--hash prints hashes as files are downloaded.
Changed to set the modification times on the local files correctly.
2001-03-22 08:33 miner
* rhupdate.pl (1.30):
Getting rid of the 'a' in the display of the version as well.
2001-03-22 08:30 miner
* rhupdate.pl (1.29):
Getting rid of the 'a' in the beta version number (for the file name, that
is.)
2001-03-22 08:06 miner
* rhupdate.pl (1.28, VERSION_1_4):
One last note about Kernel upgrades in the documentation.
Stable release 1.4.
2001-03-21 19:35 miner
* rhupdate.pl (1.27), configure.in (1.2):
Added README
Added configure checks for Net::FTP and Pod::Parser
Added documentation of Net::FTP/Pod::Parser requirement and the Kernel
update.
2001-03-21 15:44 miner
* rhupdate.pl (1.26):
Bump to version 1.4a now that 1.3 is released.
2001-03-21 13:20 miner
* rhupdate.pl (1.25, VERSION_1_3):
Fix the POD
2001-03-21 13:10 miner
* rhupdate.pl (1.24):
Added configure script.
Setting up the makefile to create the distributions.
Added --rpm and --uname options to specify the rpm program and uname program
on the command line.
2001-03-21 11:55 miner
* rhupdate.pl (1.23):
Bumping version to 1.3a
2001-03-21 11:50 miner
* rhupdate.pl (1.22, VERSION_1_2):
BUGFIX: Add the RedHat version directory to the update directory.
2001-03-20 15:35 miner
* rhupdate.pl (1.21):
Hacking up the debug code, checking for some error conditions, fixing broken
NLST implementations.
2001-03-20 14:55 miner
* rhupdate.pl (1.20):
Added a debug option and some debug output.
Cleaning up the --dir option (trimming trailing '/')
2001-03-20 14:01 miner
* rhupdate.pl (1.19):
Bump version to 1.2a
2001-03-20 14:00 miner
* rhupdate.pl (1.18):
Added a message about how many updates are available.
2001-03-20 13:48 miner
* rhupdate.pl (1.17, VERSION_1_1):
Bump to version 1.1
2001-03-20 12:54 miner
* rhupdate.pl (1.14):
Alphabetizing the options makes them easier to find.
2001-03-20 12:46 miner
* rhupdate.pl (1.13):
Documentation for --include and --exclude.
2001-03-20 12:43 miner
* rhupdate.pl (1.12):
Added --include and --exclude options to specify include/exclude patterns.
2001-03-20 12:01 miner
* rhupdate.pl (1.10):
Code to read the RedHat version from /etc/redhat-release instead of assuming
7.0
2001-03-20 06:26 miner
* rhupdate.pl (1.9, VERSION_1_0):
Creating a real "version", set to 1.0
2001-03-19 23:08 miner
* rhupdate.pl (1.7):
Fix things so that it'll work with non ix86 architectures.
2001-03-19 23:00 miner
* rhupdate.pl (1.6):
Allow server, user, password, directory, and arch to be specified on the
command line.
2001-03-19 22:17 miner
* rhupdate.pl (1.5):
Allow a pattern to be passed in.
Cache the whole local RPM database instead of querying each
individually.
Cache for comparison the server versions, check for the correct
architecture when listing/downloading.
* rhupdate.pl (1.4):
Add the download link to POD.
2001-03-19 17:31 miner
* rhupdate.pl (1.3):
Added docs.
2001-03-19 17:19 miner
* rhupdate.pl (1.1): Initial Revision
Jonathan J. Miner <jon@jjminer.org>
Copyright (C) 2001 Jonathan J. Miner
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1.9 beta $Revision: 1.102 $