Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 189966
Collapse All | Expand All

(-)bin/emerge (-20 / +19 lines)
Lines 2330-2336 Link Here
2330
					break
2330
					break
2331
		ignore_priority_soft_range = [None]
2331
		ignore_priority_soft_range = [None]
2332
		ignore_priority_soft_range.extend(
2332
		ignore_priority_soft_range.extend(
2333
			xrange(DepPriority.MIN, DepPriority.SOFT + 1))
2333
			xrange(DepPriority.MIN, DepPriority.MEDIUM_SOFT + 1))
2334
		tree_mode = "--tree" in self.myopts
2334
		tree_mode = "--tree" in self.myopts
2335
		# Tracks whether or not the current iteration should prefer asap_nodes
2335
		# Tracks whether or not the current iteration should prefer asap_nodes
2336
		# if available.  This is set to False when the previous iteration
2336
		# if available.  This is set to False when the previous iteration
Lines 2359-2364 Link Here
2359
2359
2360
		while not mygraph.empty():
2360
		while not mygraph.empty():
2361
			selected_nodes = None
2361
			selected_nodes = None
2362
			ignore_priority = None
2362
			if prefer_asap and asap_nodes:
2363
			if prefer_asap and asap_nodes:
2363
				"""ASAP nodes are merged before their soft deps."""
2364
				"""ASAP nodes are merged before their soft deps."""
2364
				asap_nodes = [node for node in asap_nodes \
2365
				asap_nodes = [node for node in asap_nodes \
Lines 2450-2474 Link Here
2450
						accept_root_node = True
2452
						accept_root_node = True
2451
						continue
2453
						continue
2452
2454
2453
					if selected_nodes and ignore_priority > DepPriority.SOFT:
2455
			if selected_nodes and ignore_priority > DepPriority.SOFT:
2454
						# Try to merge ignored medium deps as soon as possible.
2456
				# Try to merge ignored medium deps as soon as possible.
2455
						for node in selected_nodes:
2457
				for node in selected_nodes:
2456
							children = set(mygraph.child_nodes(node))
2458
					children = set(mygraph.child_nodes(node))
2457
							soft = children.difference(
2459
					soft = children.difference(
2458
								mygraph.child_nodes(node,
2460
						mygraph.child_nodes(node,
2459
								ignore_priority=DepPriority.SOFT))
2461
						ignore_priority=DepPriority.SOFT))
2460
							medium_soft = children.difference(
2462
					medium_soft = children.difference(
2461
								mygraph.child_nodes(node,
2463
						mygraph.child_nodes(node,
2462
								ignore_priority=DepPriority.MEDIUM_SOFT))
2464
						ignore_priority=DepPriority.MEDIUM_SOFT))
2463
							medium_soft.difference_update(soft)
2465
					medium_soft.difference_update(soft)
2464
							for child in medium_soft:
2466
					for child in medium_soft:
2465
								if child in selected_nodes:
2467
						if child in selected_nodes:
2466
									continue
2468
							continue
2467
								if child in asap_nodes:
2469
						if child in asap_nodes:
2468
									continue
2470
							continue
2469
								# TODO: Try harder to make these nodes get
2471
						asap_nodes.append(child)
2470
								# merged absolutely as soon as possible.
2471
								asap_nodes.append(child)
2472
2472
2473
			if not selected_nodes:
2473
			if not selected_nodes:
2474
				if not myblockers.is_empty():
2474
				if not myblockers.is_empty():

Return to bug 189966