diff --git a/misc/dnf-qubes-hooks.py b/misc/dnf-qubes-hooks.py index 1771851..608f6cc 100644 --- a/misc/dnf-qubes-hooks.py +++ b/misc/dnf-qubes-hooks.py @@ -36,6 +36,22 @@ class QubesHooks(dnf.Plugin): self.base = base self.log = logging.getLogger('dnf') + def resolved(self): + # in case of no action to do, transaction() hook won't be called; + # report updates availability here - especially when everything is up + # to date - to clear updates-available flag + if not self.base.transaction: + query = self.base.sack.query() + query = query.upgrades() + updates = set(query.run()) + subprocess.call([ + '/usr/lib/qubes/qrexec-client-vm', + 'dom0', + 'qubes.NotifyUpdates', + '/bin/echo', + str(len(updates)) + ]) + def transaction(self): if LooseVersion(dnf.const.VERSION) < '2.0.0': config = self.read_config(self.base.conf, PLUGIN_CONF)