On Tue, Jun 14, 2005 at 10:14:25AM -0700, Florin Andrei wrote:
I like Michael's idea. "rpm -i" should run chkconfig
and do whatever is
appropriate to enable/disable the service on certain runlevels, that's
fine and natural. But "rpm -U" should do nothing in that regard.
After all (I apologize for repeating it over and over again, but I think
it's a crucial point), whatever the situation before the upgrade, it was
very likely the result of a decision made and an action carried by the
human operator. The software should not treat it lightly.
This would violate rpm's behavior as described by the manpage:
"This upgrades or installs the package currently installed to a newer
version. This is the same as install, except all other version(s) of
the package are removed after the new package is installed."
The current behavior is that "rpm -U" is exactly the same as "rpm -i"
if
the package is not currently installed. (If you want to not install it
if it's not currently installed, then you use "rpm -F".) I really
can't
agree with changing that behavior.
If you mean that it should only be added if it's actually being upgraded,
as opposed to whenever "rpm -U" is run, then I still have the other
objection mentioned in this thread; i.e., chkconfig --del <service>
is quite similar to "rm -f /path/to/file", and you probably don't want
"rpm -U" to not re-add files which were deleted by the operator.
(Although again you might, I suppose.)
John Thacker