When in --nodeps mode, make depgraph._serialize_tasks() preserve the package
authorZac Medico <zmedico@gentoo.org>
Thu, 30 Apr 2009 07:21:45 +0000 (07:21 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 30 Apr 2009 07:21:45 +0000 (07:21 -0000)
order given on the command line. Thanks to Markus Duft <mduft@g.o> for
reporting. (trunk r13377)

svn path=/main/branches/2.1.6/; revision=13529

pym/_emerge/__init__.py

index 879579bb94bae91150253e0d2a2b142a9b4312af..7023c338a94dc8b79af25e95a15e5bcc66cacd84 100644 (file)
@@ -7023,6 +7023,13 @@ class depgraph(object):
                        writemsg("\n", noiselevel=-1)
 
                scheduler_graph = self.digraph.copy()
+
+               if '--nodeps' in self.myopts:
+                       # Preserve the package order given on the command line.
+                       return ([node for node in scheduler_graph \
+                               if isinstance(node, Package) \
+                               and node.operation == 'merge'], scheduler_graph)
+
                mygraph=self.digraph.copy()
                # Prune "nomerge" root nodes if nothing depends on them, since
                # otherwise they slow down merge order calculation. Don't remove