Discovered the existance of the --test option and thought
this was a great time to try it. I think it's a bit poorly
documented, or the error messages could be made clearer.
Grabbed a whole bunch of files to install (October Gnome).
Put them in one directory. Ran rpm -U --test *.rpm and it
told me, "Blah: already installed" for half a dozen where
it turned out I already had the latest version.
I didn't realise, but as a result of that, it meant rpm
decided it wouldn't upgrade any of them, so I went ahead
with rpm -U *.rpm and thought all had been upgraded until
I later checked something with rpm -qi and began to wonder.
I expect this would have been picked up by using -Uvh,
but from the Maximum RPM book it looks like the --test
option will tell you things like that, so I didn't use
When doing rpm -U *.rpm in a directory, I don't think
saying "Package blah is already installed, package bleurgh
is already installed" and saying nothing about the others
is a very obvious prelude to "So I'm not going to install
any of the rest". I'm more used to the idea in unix that
if nothing is said, it (probably...) worked.
The Max RPM book, for -i --test, says (in section 2.4.2)
that where there's problems with a package in a group, you
get the error messages for each one, and then a one-line
summary at the end. It then, in the section about upgrading,
says "If it's not discussed here, then the behaviour is
the same as for -i". And says quite plainly that the --test
option is the same. But for -U --test, you don't get the
one-line summary at the end.
Having a one-line summary of "couldn't upgrade some so
didn't upgrade any" when given a bunch of files to upgrade
would be nice, especially for the --test option, which is
presumably supposed to warn you of this kind of thing. It's
not obvious to a new user.
Attempting to install all packages as a single atomic (i.e. all or
none) "transaction set" is a feature of rpm-3.0.x that's not
documented in "Maximum RPM". While the effect may be surprising, it's
not clear to me that adding Yet Another Error Message is the best way
to handle this. An updated version of "Maximum RPM" seems preferable.