From 032ae6e652032a2adf8cc8abcb594a6242a93da9 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 4 Dec 2008 23:56:13 +0000 Subject: Make fixpackages less noisy by only generting '*' characters for packages that are modified by updates. svn path=/main/trunk/; revision=12157 --- pym/portage/__init__.py | 9 +++++---- pym/portage/dbapi/__init__.py | 10 +++++++++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 6ebfae4f1..c70b77eef 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -7376,11 +7376,12 @@ def _global_updates(trees, prev_mtimes): # We gotta do the brute force updates for these now. if mysettings["PORTAGE_CALLER"] == "fixpackages" or \ "fixpackages" in mysettings.features: - def onProgress(maxval, curval): - writemsg_stdout("*") - vardb.update_ents(myupd, onProgress=onProgress) + def onUpdate(maxval, curval): + if curval > 0: + writemsg_stdout("*") + vardb.update_ents(myupd, onUpdate=onUpdate) if bindb: - bindb.update_ents(myupd, onProgress=onProgress) + bindb.update_ents(myupd, onUpdate=onUpdate) else: do_upgrade_packagesmessage = 1 diff --git a/pym/portage/dbapi/__init__.py b/pym/portage/dbapi/__init__.py index 2bdb3e7cd..435ffebbb 100644 --- a/pym/portage/dbapi/__init__.py +++ b/pym/portage/dbapi/__init__.py @@ -200,13 +200,17 @@ class dbapi(object): else: writemsg("!!! Invalid db entry: %s\n" % mypath, noiselevel=-1) - def update_ents(self, updates, onProgress=None): + def update_ents(self, updates, onProgress=None, onUpdate=None): """ Update metadata of all packages for package moves. @param updates: A list of move commands @type updates: List @param onProgress: A progress callback function @type onProgress: a callable that takes 2 integer arguments: maxval and curval + @param onUpdate: A progress callback function called only + for packages that are modified by updates. + @type onUpdate: a callable that takes 2 integer arguments: + maxval and curval """ cpv_all = self.cpv_all() cpv_all.sort() @@ -216,6 +220,8 @@ class dbapi(object): update_keys = ["DEPEND", "RDEPEND", "PDEPEND", "PROVIDE"] from itertools import izip from portage.update import update_dbentries + if onUpdate: + onUpdate(maxval, 0) if onProgress: onProgress(maxval, 0) for i, cpv in enumerate(cpv_all): @@ -223,6 +229,8 @@ class dbapi(object): metadata_updates = update_dbentries(updates, metadata) if metadata_updates: aux_update(cpv, metadata_updates) + if onUpdate: + onUpdate(maxval, i+1) if onProgress: onProgress(maxval, i+1) -- cgit v1.2.3-1-g7c22