From 340ffa055837a14cf07d3ea5b702c61ce6fa33e2 Mon Sep 17 00:00:00 2001 From: Tim Lauridsen <timlau@fedoraproject.org> Date: Tue, 5 May 2015 19:22:40 +0200 Subject: [PATCH] fix: make fetching of available updates better Make repo priority and other excluding work. (Rhbug: 1217155) --- python/dnfdaemon/server/backend.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/python/dnfdaemon/server/backend.py b/python/dnfdaemon/server/backend.py index b09d512..b91b9f1 100644 --- a/python/dnfdaemon/server/backend.py +++ b/python/dnfdaemon/server/backend.py @@ -145,7 +145,23 @@ class Packages: @property def updates(self): """Get available updates.""" - return self.query.upgrades().latest().run() + pkgs = [] + try: + # we have to do upgrade_all & resolve + # to make sure pkgs exclude by repo priority etc + # get handled. + self._base.upgrade_all() + self._base.resolve(allow_erasing=True) + except dnf.exceptions.DepsolveError as e: + self.logger.debug(str(e)) + return pkgs + # return install/upgrade type pkgs from transaction + for tsi in self._base.transaction: + #print(tsi.op_type, tsi.installed, tsi.erased, tsi.obsoleted) + if tsi.op_type == dnf.transaction.UPGRADE or \ + tsi.op_type == dnf.transaction.INSTALL: + pkgs.append(tsi.installed) + return pkgs @property def all(self): -- GitLab