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

svn path=/main/branches/2.1.2/; revision=10282

bin/emerge

index 0ab37b6c5b3e1f04660d75a2948f715e705587af..91618ecc990ab6d4f427fd62510f263ff028cae8 100755 (executable)
@@ -4194,12 +4194,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))