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

(-)a/lib/_emerge/depgraph.py (+6 lines)
Lines 1771-1776 class depgraph(object): Link Here
1771
		# In order to avoid a missed update, first mask lower versions
1771
		# In order to avoid a missed update, first mask lower versions
1772
		# that conflict with higher versions (the backtracker visits
1772
		# that conflict with higher versions (the backtracker visits
1773
		# these in reverse order).
1773
		# these in reverse order).
1774
		if (existing_node not in conflict_pkgs and
1775
			any(pkg > existing_node for pkg in conflict_pkgs)):
1776
			# Even though all parent atoms match existing_node, add it
1777
			# to conflict_pkgs in order to avoid a missed update for
1778
			# bug 692746.
1779
			conflict_pkgs.append(existing_node)
1774
		conflict_pkgs.sort(reverse=True)
1780
		conflict_pkgs.sort(reverse=True)
1775
		backtrack_data = []
1781
		backtrack_data = []
1776
		for to_be_masked in conflict_pkgs:
1782
		for to_be_masked in conflict_pkgs:
(-)a/lib/_emerge/resolver/backtracking.py (-1 / +5 lines)
Lines 135-145 class Backtracker(object): Link Here
135
				continue
135
				continue
136
136
137
			entry_is_valid = False
137
			entry_is_valid = False
138
			any_parents = False
138
139
139
			for ppkg, patom in runtime_pkg_mask[pkg].get("slot conflict", set()):
140
			for ppkg, patom in runtime_pkg_mask[pkg].get("slot conflict", set()):
141
				any_parents = True
140
				if ppkg not in runtime_pkg_mask:
142
				if ppkg not in runtime_pkg_mask:
141
					entry_is_valid = True
143
					entry_is_valid = True
142
					break
144
					break
145
			else:
146
				if not any_parents:
147
					entry_is_valid = True
143
148
144
			if not entry_is_valid:
149
			if not entry_is_valid:
145
				return False
150
				return False
146
- 

Return to bug 692746