diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-04-13 22:22:14 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-04-13 22:22:14 +0000 |
commit | 87bb43399c85d59ce0c1f8615110add12b26df7a (patch) | |
tree | f845eee7d98ec9b78b589a944fafeeb081a3c679 | |
parent | 3e83077e2256692aaa37327c83dea97100f7d2d1 (diff) | |
download | portage-87bb43399c85d59ce0c1f8615110add12b26df7a.tar.gz portage-87bb43399c85d59ce0c1f8615110add12b26df7a.tar.bz2 portage-87bb43399c85d59ce0c1f8615110add12b26df7a.zip |
To optimize consistency of atom selections, add all of the root packages
to the graph before processing any dependencies. (trunk r9874)
svn path=/main/branches/2.1.2/; revision=9878
-rwxr-xr-x | bin/emerge | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/bin/emerge b/bin/emerge index a2a27850a..c803afb35 100755 --- a/bin/emerge +++ b/bin/emerge @@ -2535,6 +2535,7 @@ class depgraph(object): while args: arg = args.pop() for atom in arg.set: + self.spinner.update() atom_cp = portage.dep_getkey(atom) try: pprovided = pprovideddict.get(portage.dep_getkey(atom)) @@ -2585,16 +2586,12 @@ class depgraph(object): dep = Dependency(atom=atom, onlydeps=onlydeps, root=myroot, parent=arg) - self._dep_stack.append(dep) # Add the selected package to the graph as soon as possible # so that later dep_check() calls can use it as feedback # for making more consistent atom selections. if not self._add_pkg(pkg, dep.parent, priority=dep.priority, depth=dep.depth): - return 0, myfavorites - - if not self._create_graph(): if isinstance(arg, SetArg): sys.stderr.write(("\n\n!!! Problem resolving " + \ "dependencies for %s from %s\n") % \ @@ -2603,6 +2600,7 @@ class depgraph(object): sys.stderr.write(("\n\n!!! Problem resolving " + \ "dependencies for %s\n") % atom) return 0, myfavorites + except portage_exception.MissingSignature, e: portage.writemsg("\n\n!!! A missing gpg signature is preventing portage from calculating the\n") portage.writemsg("!!! required dependencies. This is a security feature enabled by the admin\n") @@ -2624,6 +2622,11 @@ class depgraph(object): print >> sys.stderr, "!!!", str(e), getattr(e, "__module__", None) raise + # Now that the root packages have been added to the graph, + # process the dependencies. + if not self._create_graph(): + return 0, myfavorites + missing=0 if "--usepkgonly" in self.myopts: for xs in self.digraph.all_nodes(): |