summaryrefslogtreecommitdiff
path: root/geneticone
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
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/backend/portage_helper.py19
-rw-r--r--geneticone/gui/gui_helper.py10
-rw-r--r--geneticone/gui/windows.py2
3 files changed, 28 insertions, 3 deletions
diff --git a/geneticone/backend/portage_helper.py b/geneticone/backend/portage_helper.py
index 3a6eab7..3d5a4a8 100644
--- a/geneticone/backend/portage_helper.py
+++ b/geneticone/backend/portage_helper.py
@@ -255,9 +255,26 @@ def update_world (newuse = False, deep = False):
line = line.strip()
if not len(line): continue # empty line
if line[0] == "#": continue
- packages.append(find_best_match(line))
+ packages.append(line)
world.close()
+ sys = gentoolkit.settings.packages
+ for x in sys:
+ if x[0] == "*":
+ x = x[1:]
+ packages.append(x.strip())
+
+ # Remove everything that is package.provided from our list
+ # This is copied from emerge.getlist()
+ for atom in packages[:]:
+ for expanded_atom in portage.flatten(portage.dep_virtual([atom], gentoolkit.settings)):
+ mykey = portage.dep_getkey(expanded_atom)
+ if mykey in gentoolkit.settings.pprovideddict and portage.match_from_list(expanded_atom, settings.pprovideddict[mykey]):
+ packages.remove(atom)
+ break
+
+ packages = [find_best_match(x) for x in packages]
+
checked = []
updating = []
raw_checked = []
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):
diff --git a/geneticone/gui/windows.py b/geneticone/gui/windows.py
index ade3fa9..81a82cf 100644
--- a/geneticone/gui/windows.py
+++ b/geneticone/gui/windows.py
@@ -954,7 +954,7 @@ class MainWindow:
debug("updating list:", [(x.get_cpv(), y.get_cpv()) for x,y in updating])
for pkg, old_pkg in updating:
- self.queue.append(pkg.get_cpv(), options=["update from "+old_pkg.get_version()])
+ self.queue.append(pkg.get_cpv())
if len(updating): self.doUpdate = True
return True
r>2008-01-18 r655@Devoty: necoro | 2008-01-18 03:04:53 +0100Necoro1-1/+1 2008-01-18 r651@Devoty: necoro | 2008-01-18 02:41:51 +0100Necoro3-393/+513 2008-01-18 r643@Devoty: necoro | 2008-01-16 18:55:49 +0100Necoro14-249/+525 2008-01-14 r634@Devoty: necoro | 2008-01-14 23:48:24 +0100Necoro3-1/+4 2008-01-14 r632@Devoty: necoro | 2008-01-14 23:44:52 +0100Necoro3-175/+181 2008-01-14(no commit message)Necoro10-758/+1014 2008-01-14 r621@Devoty: necoro | 2008-01-14 20:21:40 +0100Necoro2-21/+61 2008-01-14 r618@Devoty: necoro | 2008-01-14 20:19:05 +0100Necoro2-35/+57 2008-01-14 r617@Devoty: necoro | 2008-01-14 19:12:59 +0100Necoro2-10/+10 2008-01-14 r609@Devoty: necoro | 2008-01-14 17:04:38 +0100Necoro9-394/+477 2008-01-14 r605@Devoty: necoro | 2008-01-14 11:43:34 +0100Necoro2-26/+129 2008-01-14 r603@Devoty: necoro | 2008-01-14 11:30:26 +0100Necoro4-26/+38 2008-01-11 r598@Devoty: necoro | 2008-01-10 16:36:29 +0100Necoro4-10/+50 2008-01-11 r597@Devoty: necoro | 2008-01-10 14:12:35 +0100Necoro1-3/+3 2008-01-10 r595@Devoty: necoro | 2008-01-10 04:04:15 +0100Necoro1-52/+3 2008-01-09 r586@Devoty: necoro | 2008-01-09 14:54:18 +0100Necoro1-1/+1 2007-12-06 r577@Devoty: necoro | 2007-12-06 20:37:36 +0100Necoro1-1/+1 2007-12-06 r572@Devoty: necoro | 2007-11-28 08:48:15 +0100Necoro1-0/+1 2007-11-27 r570@Devoty: necoro | 2007-11-27 02:08:21 +0100Necoro3-84/+108