View | Details | Raw Unified
Collapse All | Expand All

(-) bin/emerge (-3 / +17 lines)
 Lines 1899-1905    Link Here 
							# this block.
							# this block.
							upgrade_node = \
							upgrade_node = \
								self.pkg_node_map[proot][upgrade_matches[0]]
								self.pkg_node_map[proot][upgrade_matches[0]]
							depends_on_order.add(upgrade_node)
							depends_on_order.add((upgrade_node, parent))
							continue
							continue
					# None of the above blocker resolutions techniques apply,
					# None of the above blocker resolutions techniques apply,
					# so apparently this one is unresolvable.
					# so apparently this one is unresolvable.
 Lines 1915-1927    Link Here 
						# This blocker will be handled the next time that a
						# This blocker will be handled the next time that a
						# merge of either package is triggered.
						# merge of either package is triggered.
						continue
						continue
					if not parent_static and pstatus == "nomerge" and \
						slot_atom in modified_slots[myroot]:
						replacement = final_db.match(pslot_atom)
						if replacement:
							replacement_node = \
								self.pkg_node_map[proot][replacement[0]]
							if replacement_node not in \
								self.blocker_parents[blocker]:
								# Apparently a replacement may be able to
								# invalidate this block.
								blocked_node = self.pkg_node_map[proot][cpv]
								depends_on_order.add(
									(replacement_node, blocked_node))
								continue
					# None of the above blocker resolutions techniques apply,
					# None of the above blocker resolutions techniques apply,
					# so apparently this one is unresolvable.
					# so apparently this one is unresolvable.
					unresolved_blocks = True
					unresolved_blocks = True
				if not unresolved_blocks and depends_on_order:
				if not unresolved_blocks and depends_on_order:
					for node in depends_on_order:
					for node, pnode in depends_on_order:
						# Enforce correct merge order with a hard dep.
						# Enforce correct merge order with a hard dep.
						self.digraph.addnode(node, parent,
						self.digraph.addnode(node, pnode,
							priority=DepPriority(buildtime=True))
							priority=DepPriority(buildtime=True))
						# Count references to this blocker so that it can be
						# Count references to this blocker so that it can be
						# invalidated after nodes referencing it have been
						# invalidated after nodes referencing it have been