Yesterday I installed a NetworkManager update with PackageKit, and a regression made my network unusable. "yum history undo" didn't work, because the previous version wasn't available on disk, and the network wasn't working.
It would be clever if the system could recover from this situation naturally. If a bad network update somehow makes it into wide release (for example because the bug doesn't affect all hardware or configurations), everyday users would have to manually undo it, which is a bit of a mess. Not everyone has easy access to a second networked computer unaffected by the update, and it's not obvious to most people how to go about the manual fix. (Obviously it would be ideal if the graphical package managers exposed this undo capability.)
In /etc/yum.conf, keepcache appears to be set to 0 by default, but implementing this enhancement isn't a simple matter of turning that on. The old, working version of an RPM might be the original one from the install media. In every case, it's not the one that's being downloaded to install the update.
The obvious way I see of implementing this is to download both the new and already-installed RPMs, and cache the already-installed RPM. To prevent this feature from taking up too much disk space, the cached RPM could be deleted after the next update, or perhaps two weeks after the next reboot (when it's unlikely to be needed).
Encountered with: yum-3.2.27-3.fc12.noarch
In recent yum-utils there is a package called "yum-plugin-local" which copies packages to into a local repo. as you install them. This is meant to work around the problem where Fedora only keeps one update in the repo. but would help your case too.
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '12'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 12's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 12 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version.
Thank you for reporting this bug and we are sorry it could not be fixed.