Fix updates notification on Fedora 29

Workaround for https://bugzilla.redhat.com/1650446
This caused not clearing updates-available flag after installing updates
in the template.

Fixes QubesOS/qubes-issues#2009
This commit is contained in:
Marek Marczykowski-Górecki 2018-12-05 06:26:25 +01:00
parent bb28efe628
commit 8d7313b928
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724

View File

@ -43,6 +43,18 @@ class QubesHooks(dnf.Plugin):
config = self.read_config(self.base.conf) config = self.read_config(self.base.conf)
if config.getboolean('main', 'notify-updates'): if config.getboolean('main', 'notify-updates'):
if LooseVersion(dnf.const.VERSION) > '4.0.0':
# self.base.transaction empty at this point in dnf4
# https://bugzilla.redhat.com/1650446
# until fixed, load the repositories again and again check for
# updates
base = dnf.Base()
base.read_all_repos()
base.fill_sack()
query = base.sack.query()
query = query.upgrades()
updates = set(query.run())
else:
# Get all updates available _before_ this transaction # Get all updates available _before_ this transaction
query = self.base.sack.query() query = self.base.sack.query()
query = query.upgrades() query = query.upgrades()