Red Hat Bugzilla – Bug 159821
--freshen ignores --oldpackage
Last modified: 2007-11-30 17:07:18 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Fedora/1.0.4-1.3.1 Firefox/1.0.4
Description of problem:
When using 'rpm --freshen --oldpackage', the '--oldpackage' argument is silently ignored.
E.g. if one has 'wibble-1.2' installed, 'rpm --freshen --oldpackage wibble-1.1'
will exit with a return code of 0 BUT will not have replaced 'wibble-1.2' with 'wibble-1.1'.
This is REALLY bad, because the behaviour of the program does not meet the user's expected behaviour. It violates the principal of least astonishment.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install package
2. Attempt to 'rpm --freshen --oldpackage' with older version of package
Actual Results: Package NOT freshened.
Expected Results: Something else. The actual result is VERY non-intuitive.
You maintain RPM, you get to choose the expected result from the following list:
1/. Packaged freshed with older package
2/. Fatal error "you cannot use '--oldpackage' with '--freshen'. Use '--upgrade' instead"
The two options have incompatible meanings. The --freshen option
checks for existence of a newer package if already installed, while --oldpackage
(In reply to comment #1)
> The two options have incompatible meanings. The --freshen option
> checks for existence of a newer package if already installed, while --oldpackage
> permits downgrades.
Yes, OK, agreed.
So don't return "success" when the command hasn't been successful.