summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-01-06 16:34:17 -0800
committerZac Medico <zmedico@gentoo.org>2011-01-06 16:34:17 -0800
commitb9c572d6706d172fd0aaed9492dbb3fbee0700b8 (patch)
tree87a43fe198350977e368be2d50b18561d948fdf7
parentScheduler: handle same cpv with different SLOT (diff)
downloadportage-b9c572d6706d172fd0aaed9492dbb3fbee0700b8.tar.gz
portage-b9c572d6706d172fd0aaed9492dbb3fbee0700b8.tar.bz2
portage-b9c572d6706d172fd0aaed9492dbb3fbee0700b8.zip
Scheduler: free unneeded uninstall task from memv2.2.0_alpha14
-rw-r--r--pym/_emerge/Scheduler.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index eb70e80dd..f637dd075 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -1410,7 +1410,11 @@ class Scheduler(PollScheduler):
if pkg_to_replace is not None:
# When a package is replaced, mark it's uninstall
# task complete (if any).
- self._task_complete(pkg_to_replace)
+ if self._digraph is not None and \
+ pkg_to_replace in self._digraph:
+ self._task_complete(pkg_to_replace)
+ else:
+ self._pkg_cache.pop(pkg_to_replace, None)
if pkg.installed:
return