On Mon, 7 Jun 2010, James Antill wrote:
--- output.py | 3 ++- yum/depsolve.py | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/output.py b/output.py index a89643f..060eaab 100755 --- a/output.py +++ b/output.py @@ -1705,7 +1705,8 @@ class DepSolveProgressCallBack: modedict = { 'i': _('installed'), 'u': _('updated'), 'o': _('obsoleted'), - 'e': _('erased')} + 'e': _('erased'), + 'd': _('downgraded')} (n, a, e, v, r) = pkgtup modeterm = modedict[mode] self.verbose_logger.log(logginglevels.INFO_2, diff --git a/yum/depsolve.py b/yum/depsolve.py index 13d5d31..fe34a9c 100644 --- a/yum/depsolve.py +++ b/yum/depsolve.py @@ -225,14 +225,20 @@ class Depsolve(object): self.ts.addInstall(hdr, (hdr, rpmfile), txmbr.ts_state) self.verbose_logger.log(logginglevels.DEBUG_1, _('Adding Package %s in mode %s'), txmbr.po, txmbr.ts_state) - if self.dsCallback: - self.dsCallback.pkgAdded(txmbr.pkgtup, txmbr.ts_state) + if self.dsCallback: + ts_state = txmbr.ts_state + if ts_state == 'u' and txmbr.downgrades: + ts_state = 'd' + self.dsCallback.pkgAdded(txmbr.pkgtup, ts_state) elif txmbr.ts_state in ['e']: if (txmbr.pkgtup, txmbr.ts_state) in ts_elem: continue self.ts.addErase(txmbr.po.idx) - if self.dsCallback: self.dsCallback.pkgAdded(txmbr.pkgtup, 'e') + if self.dsCallback: + if txmbr.downgraded_by: + continue + self.dsCallback.pkgAdded(txmbr.pkgtup, 'e') self.verbose_logger.log(logginglevels.DEBUG_1, _('Removing Package %s'), txmbr.po) @@ -786,7 +792,10 @@ class Depsolve(object): for txmbr in self.tsInfo.getUnresolvedMembers(): if self.dsCallback and txmbr.ts_state: - self.dsCallback.pkgAdded(txmbr.pkgtup, txmbr.ts_state) + ts_state = txmbr.ts_state + if txmbr.downgrades: + ts_state = 'd' + self.dsCallback.pkgAdded(txmbr.pkgtup, ts_state) self.verbose_logger.log(logginglevels.DEBUG_2, _("Checking deps for %s") %(txmbr,))
reasonably positive I'll regret this but ACK :) -sv _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel