dnf: clear updates-available flag when dnf update yields no updates
Fixes QubesOS/qubes-issues#2009
This commit is contained in:
parent
69965213da
commit
40652b700b
@ -36,6 +36,22 @@ class QubesHooks(dnf.Plugin):
|
|||||||
self.base = base
|
self.base = base
|
||||||
self.log = logging.getLogger('dnf')
|
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):
|
def transaction(self):
|
||||||
if LooseVersion(dnf.const.VERSION) < '2.0.0':
|
if LooseVersion(dnf.const.VERSION) < '2.0.0':
|
||||||
config = self.read_config(self.base.conf, PLUGIN_CONF)
|
config = self.read_config(self.base.conf, PLUGIN_CONF)
|
||||||
|
Loading…
Reference in New Issue
Block a user