Merged from trunk 5271:5283
authorFabian Groffen <grobian@gentoo.org>
Wed, 13 Dec 2006 16:22:34 +0000 (16:22 -0000)
committerFabian Groffen <grobian@gentoo.org>
Wed, 13 Dec 2006 16:22:34 +0000 (16:22 -0000)
commit7fa7aba94c9e2f5b35a05bde00d355aba42171d0
tree2b006156dc50268d260128b1edd517fff2b0327d
parentd648200abab0fe09f4e3331ff60d850162ab875e
Merged from trunk 5271:5283

For bug #157823, ignore blocker collisions between two packages that are
already installed if no merge is currently scheduled for either of those
package slots.  These blockers will be handled as necessary the next
time that a merge of either package is triggered.

Make the fetch phase bail out if FETCHCOMMAND or RESUMECOMMAND are
missing.  Thanks to Flameeyes for reporting.

All portage.fetch() to succeed even if FETCHCOMMAND and RESUMECOMMAND
aren't defined.

Centralize all of the vardb metadata mangling in FakeVartree.

Store dependency metadata in depgraph.mydbapi so that it can be used in
place of the portdb for optimized dep_check calls in
depgraph.validate_blockers().

Optimize dep_check calls in depgraph.validate_blockers() by using a
fakedbapi instance instead of the real pordbapi (minimizes available
matches).

For higher efficiency, call self.__int__() instead of int(self).

For bug #157897, only let depgraph.create() inject "merge" nodes into
the final state dbapi.

For bug #157897, ensure that only "merge" nodes are stored in
digraph.pkg_node_map.

Move the biolerplate cpv_all() implementation from portdbapi to dbapi.

Track slot atom to digraph node mappings as the depgraph is built.  This
mapping will be used to detect node collisions for bug #157897.

Remove redundant digraph.pkg_node_map node insertions.  Once per
digraph.create() call will cover all nodes.

svn path=/main/branches/prefix/; revision=5284
bin/emerge
pym/portage.py