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): rpm-4.3.2-21 How reproducible: Always 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 or 2/. Fatal error "you cannot use '--oldpackage' with '--freshen'. Use '--upgrade' instead" Additional info:
The two options have incompatible meanings. The --freshen option checks for existence of a newer package if already installed, while --oldpackage permits downgrades.
(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.