The main problem here is that yum doesn't let a user install blah-1, if blah-1 is already installed ... so we require a remove transaction, and then an install transaction of the same thing. However _rpm_ only wants to see the install transaction, and gets upset with the remove transaction as well (it has an implicit remove as part of the install, and so tries to remove twice).
So this fix just removes the "remove transaction" when we add the reinstall "install transaction". --- yum/__init__.py | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/yum/__init__.py b/yum/__init__.py index 0df32a3..3f75528 100644 --- a/yum/__init__.py +++ b/yum/__init__.py @@ -2802,6 +2802,11 @@ class YumBase(depsolve.Depsolve): self._add_prob_flags(rpm.RPMPROB_FILTER_REPLACEPKG, rpm.RPMPROB_FILTER_REPLACENEWFILES, rpm.RPMPROB_FILTER_REPLACEOLDFILES) + # Yum needs the remove to happen before we allow the + # install of the same version. But rpm doesn't like that + # as it then has an install which removes the old version + # and a remove, which also tries to remove the old version. + self.tsInfo.remove(ipkg.pkgtup) break if ipkg.verGT(po): self._add_prob_flags(rpm.RPMPROB_FILTER_OLDPACKAGE) -- 1.6.2.5 _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel