Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r15446 - main/trunk/pym/_emerge
Date: Wed, 24 Feb 2010 05:15:23
Message-Id: E1Nk9ai-0005x1-4A@stork.gentoo.org
1 Author: zmedico
2 Date: 2010-02-24 05:15:19 +0000 (Wed, 24 Feb 2010)
3 New Revision: 15446
4
5 Modified:
6 main/trunk/pym/_emerge/depgraph.py
7 Log:
8 Fix a logic error which causes blockers from installed packages to be
9 ignored in some cases. Thanks to Brian Dolbec (dol-sen) for reporting.
10
11
12 Modified: main/trunk/pym/_emerge/depgraph.py
13 ===================================================================
14 --- main/trunk/pym/_emerge/depgraph.py 2010-02-24 04:55:26 UTC (rev 15445)
15 +++ main/trunk/pym/_emerge/depgraph.py 2010-02-24 05:15:19 UTC (rev 15446)
16 @@ -141,6 +141,10 @@
17 # uninstallation but may not have been added to the graph
18 # if the graph is not complete yet.
19 self._blocked_world_pkgs = {}
20 + # Contains packages whose dependencies have been traversed.
21 + # This use used to check if we have accounted for blockers
22 + # relevant to a package.
23 + self._traversed_pkg_deps = set()
24 self._slot_collision_info = {}
25 # Slot collision nodes are not allowed to block other packages since
26 # blocker validation is only able to account for one package per slot.
27 @@ -1211,6 +1215,7 @@
28 return 0
29 finally:
30 portage.dep._dep_check_strict = True
31 + self._dynamic_config._traversed_pkg_deps.add(pkg)
32 return 1
33
34 def _add_pkg_dep_string(self, pkg, dep_root, dep_priority, dep_string,
35 @@ -2848,6 +2853,8 @@
36 cpv = pkg.cpv
37 stale_cache.discard(cpv)
38 pkg_in_graph = self._dynamic_config.digraph.contains(pkg)
39 + pkg_deps_added = \
40 + pkg in self._dynamic_config._traversed_pkg_deps
41
42 # Check for masked installed packages. Only warn about
43 # packages that are in the graph in order to avoid warning
44 @@ -2864,7 +2871,7 @@
45
46 blocker_atoms = None
47 blockers = None
48 - if pkg_in_graph:
49 + if pkg_deps_added:
50 blockers = []
51 try:
52 blockers.extend(