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

(-)bin/emerge (-3 / +17 lines)
Lines 1899-1905 Link Here
1899
							# this block.
1899
							# this block.
1900
							upgrade_node = \
1900
							upgrade_node = \
1901
								self.pkg_node_map[proot][upgrade_matches[0]]
1901
								self.pkg_node_map[proot][upgrade_matches[0]]
1902
							depends_on_order.add(upgrade_node)
1902
							depends_on_order.add((upgrade_node, parent))
1903
							continue
1903
							continue
1904
					# None of the above blocker resolutions techniques apply,
1904
					# None of the above blocker resolutions techniques apply,
1905
					# so apparently this one is unresolvable.
1905
					# so apparently this one is unresolvable.
Lines 1915-1927 Link Here
1915
						# This blocker will be handled the next time that a
1915
						# This blocker will be handled the next time that a
1916
						# merge of either package is triggered.
1916
						# merge of either package is triggered.
1917
						continue
1917
						continue
1918
					if not parent_static and pstatus == "nomerge" and \
1919
						slot_atom in modified_slots[myroot]:
1920
						replacement = final_db.match(pslot_atom)
1921
						if replacement:
1922
							replacement_node = \
1923
								self.pkg_node_map[proot][replacement[0]]
1924
							if replacement_node not in \
1925
								self.blocker_parents[blocker]:
1926
								# Apparently a replacement may be able to
1927
								# invalidate this block.
1928
								blocked_node = self.pkg_node_map[proot][cpv]
1929
								depends_on_order.add(
1930
									(replacement_node, blocked_node))
1931
								continue
1918
					# None of the above blocker resolutions techniques apply,
1932
					# None of the above blocker resolutions techniques apply,
1919
					# so apparently this one is unresolvable.
1933
					# so apparently this one is unresolvable.
1920
					unresolved_blocks = True
1934
					unresolved_blocks = True
1921
				if not unresolved_blocks and depends_on_order:
1935
				if not unresolved_blocks and depends_on_order:
1922
					for node in depends_on_order:
1936
					for node, pnode in depends_on_order:
1923
						# Enforce correct merge order with a hard dep.
1937
						# Enforce correct merge order with a hard dep.
1924
						self.digraph.addnode(node, parent,
1938
						self.digraph.addnode(node, pnode,
1925
							priority=DepPriority(buildtime=True))
1939
							priority=DepPriority(buildtime=True))
1926
						# Count references to this blocker so that it can be
1940
						# Count references to this blocker so that it can be
1927
						# invalidated after nodes referencing it have been
1941
						# invalidated after nodes referencing it have been

Return to bug 176765