summaryrefslogtreecommitdiff
path: root/geneticone/gui/gui_helper.py
diff options
context:
space:
mode:
authornecoro <>2006-10-18 17:27:31 +0000
committernecoro <>2006-10-18 17:27:31 +0000
commitf1f6fb18232258b5de3267a1cae2e483cd5f7ba7 (patch)
treea73d243dcbeecebca3f592d25bb17b44a3b6fa8a /geneticone/gui/gui_helper.py
parentc9fdcf782e7ad7f54a35ab5c156cf0a2fa84ad1e (diff)
downloadportato-f1f6fb18232258b5de3267a1cae2e483cd5f7ba7.tar.gz
portato-f1f6fb18232258b5de3267a1cae2e483cd5f7ba7.tar.bz2
portato-f1f6fb18232258b5de3267a1cae2e483cd5f7ba7.zip
fixed bug in update_world which ignored system
Diffstat (limited to '')
-rw-r--r--geneticone/gui/gui_helper.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/geneticone/gui/gui_helper.py b/geneticone/gui/gui_helper.py
index cb32417..51f04e3 100644
--- a/geneticone/gui/gui_helper.py
+++ b/geneticone/gui/gui_helper.py
@@ -282,7 +282,7 @@ class EmergeQueue:
return pkg
- def update_tree (self, it, cpv, unmask = False, options = []):
+ def update_tree (self, it, cpv, unmask = False, options = None):
"""This updates the tree recursivly, or? Isn't it? Bjorn!
@param it: iterator where to append
@@ -297,11 +297,19 @@ class EmergeQueue:
@raises backend.BlockedException: When occured during dependency-calculation.
@raises backend.PackageNotFoundException: If no package could be found - normally it is existing but masked."""
+ if not options: options = []
+
if cpv in self.deps:
return # in list already and therefore it's already in the tree too
try:
pkg = self._get_pkg_from_cpv(cpv, unmask)
+ if not pkg.is_installed():
+ old = backend.get_all_installed_versions(pkg.get_cp())
+ if old:
+ old = old[0] # assume we have only one there; FIXME: slotted packages
+ options += ["updating from "+old.get_version()]
+
except backend.PackageNotFoundException, e: # package not found / package is masked -> delete current tree and re-raise the exception
if self.tree.iter_parent(it):
while self.tree.iter_parent(it):