Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 520950 | Differences between
and this patch

Collapse All | Expand All

(-)a/pym/_emerge/depgraph.py (-5 / +28 lines)
Lines 107-113 def _wildcard_set(atoms): Link Here
107
107
108
class _frozen_depgraph_config(object):
108
class _frozen_depgraph_config(object):
109
109
110
	def __init__(self, settings, trees, myopts, spinner):
110
	def __init__(self, settings, trees, myopts, params, spinner):
111
		self.settings = settings
111
		self.settings = settings
112
		self.target_root = settings["EROOT"]
112
		self.target_root = settings["EROOT"]
113
		self.myopts = myopts
113
		self.myopts = myopts
Lines 115-120 class _frozen_depgraph_config(object): Link Here
115
		if settings.get("PORTAGE_DEBUG", "") == "1":
115
		if settings.get("PORTAGE_DEBUG", "") == "1":
116
			self.edebug = 1
116
			self.edebug = 1
117
		self.spinner = spinner
117
		self.spinner = spinner
118
		self.requested_depth = params.get("deep", 0)
118
		self._running_root = trees[trees._running_eroot]["root_config"]
119
		self._running_root = trees[trees._running_eroot]["root_config"]
119
		self.pkgsettings = {}
120
		self.pkgsettings = {}
120
		self.trees = {}
121
		self.trees = {}
Lines 508-514 class depgraph(object): Link Here
508
		frozen_config=None, backtrack_parameters=BacktrackParameter(), allow_backtracking=False):
509
		frozen_config=None, backtrack_parameters=BacktrackParameter(), allow_backtracking=False):
509
		if frozen_config is None:
510
		if frozen_config is None:
510
			frozen_config = _frozen_depgraph_config(settings, trees,
511
			frozen_config = _frozen_depgraph_config(settings, trees,
511
			myopts, spinner)
512
			myopts, myparams, spinner)
512
		self._frozen_config = frozen_config
513
		self._frozen_config = frozen_config
513
		self._dynamic_config = _dynamic_depgraph_config(self, myparams,
514
		self._dynamic_config = _dynamic_depgraph_config(self, myparams,
514
			allow_backtracking, backtrack_parameters)
515
			allow_backtracking, backtrack_parameters)
Lines 2167-2172 class depgraph(object): Link Here
2167
			if allow_unsatisfied:
2168
			if allow_unsatisfied:
2168
				self._dynamic_config._unsatisfied_deps.append(dep)
2169
				self._dynamic_config._unsatisfied_deps.append(dep)
2169
				return 1
2170
				return 1
2171
2172
			# The following case occurs when
2173
			# _solve_non_slot_operator_slot_conflicts calls
2174
			# _create_graph. In this case, ignore unsatisfied deps for
2175
			# installed packages only if their depth is beyond the depth
2176
			# requested by the user and the dep was initially
2177
			# unsatisfied (not broken by a slot conflict in the current
2178
			# graph). See bug #520950.
2179
			# NOTE: This currently does not apply to removal actions,
2180
			# since all existing removal actions traverse all installed
2181
			# deps deeply via the _complete_graph method.
2182
			if ("remove" not in self._dynamic_config.myparams and
2183
				self._dynamic_config._complete_mode and
2184
				isinstance(dep.parent, Package) and
2185
				dep.parent.installed and
2186
				self._frozen_config.requested_depth is not True and
2187
				dep.parent.depth >= self._frozen_config.requested_depth):
2188
				inst_pkg, in_graph = \
2189
					self._select_pkg_from_installed(dep.root, dep.atom)
2190
				if inst_pkg is None:
2191
					self._dynamic_config._initially_unsatisfied_deps.append(dep)
2192
					return 1
2193
2170
			self._dynamic_config._unsatisfied_deps_for_display.append(
2194
			self._dynamic_config._unsatisfied_deps_for_display.append(
2171
				((dep.root, dep.atom), {"myparent":dep.parent}))
2195
				((dep.root, dep.atom), {"myparent":dep.parent}))
2172
2196
Lines 8487-8493 def _backtrack_depgraph(settings, trees, myopts, myparams, myaction, myfiles, sp Link Here
8487
	backtracked = 0
8511
	backtracked = 0
8488
8512
8489
	frozen_config = _frozen_depgraph_config(settings, trees,
8513
	frozen_config = _frozen_depgraph_config(settings, trees,
8490
		myopts, spinner)
8514
		myopts, myparams, spinner)
8491
8515
8492
	while backtracker:
8516
	while backtracker:
8493
8517
Lines 8569-8575 def _resume_depgraph(settings, trees, mtimedb, myopts, myparams, spinner): Link Here
8569
	mergelist = mtimedb["resume"]["mergelist"]
8593
	mergelist = mtimedb["resume"]["mergelist"]
8570
	dropped_tasks = {}
8594
	dropped_tasks = {}
8571
	frozen_config = _frozen_depgraph_config(settings, trees,
8595
	frozen_config = _frozen_depgraph_config(settings, trees,
8572
		myopts, spinner)
8596
		myopts, myparams, spinner)
8573
	while True:
8597
	while True:
8574
		mydepgraph = depgraph(settings, trees,
8598
		mydepgraph = depgraph(settings, trees,
8575
			myopts, myparams, spinner, frozen_config=frozen_config)
8599
			myopts, myparams, spinner, frozen_config=frozen_config)
8576
- 

Return to bug 520950