Always include satisfied blockers as an indicator that blocking
authorZac Medico <zmedico@gentoo.org>
Sat, 10 May 2008 08:47:45 +0000 (08:47 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 10 May 2008 08:47:45 +0000 (08:47 -0000)
packages will be temporarily installed simultaneously.

svn path=/main/trunk/; revision=10281

pym/_emerge/__init__.py

index a18f5255b9ea28d4e4ee0ba8229d15f3a0d17217..f4ce23843acd2085537882fac5c431a23dc78854 100644 (file)
@@ -4042,12 +4042,14 @@ class depgraph(object):
 
                                retlist.append(node)
 
-                               if isinstance(node, Package) and \
-                                       "uninstall" == node.operation:
-                                       # Include satisfied blockers in the merge list so
-                                       # that the user can see why the package had to be
-                                       # uninstalled in advance rather than through
-                                       # replacement.
+                               if (isinstance(node, Package) and \
+                                       "uninstall" == node.operation) or \
+                                       (uninst_task is not None and \
+                                       uninst_task in scheduled_uninstalls):
+                                       # Include satisfied blockers in the merge list
+                                       # since the user might be interested and also
+                                       # it serves as an indicator that blocking packages
+                                       # will be temporarily installed simultaneously.
                                        for blocker in solved_blockers:
                                                retlist.append(Blocker(atom=blocker.atom,
                                                        root=blocker.root, satisfied=True))