diff options
author | necoro <> | 2006-10-18 17:27:31 +0000 |
---|---|---|
committer | necoro <> | 2006-10-18 17:27:31 +0000 |
commit | f1f6fb18232258b5de3267a1cae2e483cd5f7ba7 (patch) | |
tree | a73d243dcbeecebca3f592d25bb17b44a3b6fa8a /geneticone/gui/gui_helper.py | |
parent | c9fdcf782e7ad7f54a35ab5c156cf0a2fa84ad1e (diff) | |
download | portato-f1f6fb18232258b5de3267a1cae2e483cd5f7ba7.tar.gz portato-f1f6fb18232258b5de3267a1cae2e483cd5f7ba7.tar.bz2 portato-f1f6fb18232258b5de3267a1cae2e483cd5f7ba7.zip |
fixed bug in update_world which ignored system
Diffstat (limited to 'geneticone/gui/gui_helper.py')
-rw-r--r-- | geneticone/gui/gui_helper.py | 10 |
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): |