From 2adcac914aa24dff4db6069ddc237a515a84486a Mon Sep 17 00:00:00 2001 From: lxnay Date: Wed, 23 Apr 2008 11:30:29 +0000 Subject: [PATCH] Entropy/Spritz: - greatly improve etpbase.elaborateInstall() git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@1840 cd1c1023-2f26-0410-ae45-c471fc1f0318 --- spritz/src/misc.py | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/spritz/src/misc.py b/spritz/src/misc.py index 6566e1a60..87485330c 100644 --- a/spritz/src/misc.py +++ b/spritz/src/misc.py @@ -155,22 +155,28 @@ class SpritzQueue: remove_todo = [] install_todo = [] if runQueue: - #print "runQueue",runQueue - for dep_pkg in self.etpbase.getRawPackages('updates') + \ - self.etpbase.getRawPackages('available') + \ - self.etpbase.getRawPackages('reinstallable'): - for matched_atom in runQueue: - if (dep_pkg.matched_atom == matched_atom) and \ - (dep_pkg not in self.packages[actions[0]]+self.packages[actions[1]]+self.packages[actions[2]]) and \ - (dep_pkg not in install_todo): - install_todo.append(dep_pkg) + self.etpbase.getRawPackages('updates') + self.etpbase.getRawPackages('available') + self.etpbase.getRawPackages('reinstallable') + for matched_atom in runQueue: + dep_pkg = self.etpbase.getPackageItem(matched_atom,True) + if not dep_pkg: + continue + if (dep_pkg not in self.packages[actions[0]] + \ + self.packages[actions[1]] + \ + self.packages[actions[2]]) and \ + (dep_pkg not in install_todo): + install_todo.append(dep_pkg) - # removalQueue if removalQueue: - for rem_pkg in self.etpbase.getRawPackages('installed'): - for matched_atom in removalQueue: - if rem_pkg.matched_atom == (matched_atom,0) and (rem_pkg not in remove_todo): - remove_todo.append(rem_pkg) + self.etpbase.getRawPackages('installed') + for idpackage in removalQueue: + mymatch = (idpackage,0) + rem_pkg = self.etpbase.getPackageItem(mymatch,True) + if not rem_pkg: + continue + if rem_pkg not in remove_todo: + remove_todo.append(rem_pkg) if install_todo or remove_todo: ok = True