Lines 1059-1064
class depgraph(object):
Link Here
|
1059 |
def __str__(self): |
1059 |
def __str__(self): |
1060 |
return "(%s)" % ",".join(str(pkg) for pkg in self) |
1060 |
return "(%s)" % ",".join(str(pkg) for pkg in self) |
1061 |
|
1061 |
|
|
|
1062 |
non_matching_forced = set() |
1062 |
for conflict in conflicts: |
1063 |
for conflict in conflicts: |
1063 |
if debug: |
1064 |
if debug: |
1064 |
writemsg_level(" conflict:\n", level=logging.DEBUG, noiselevel=-1) |
1065 |
writemsg_level(" conflict:\n", level=logging.DEBUG, noiselevel=-1) |
Lines 1105-1110
class depgraph(object):
Link Here
|
1105 |
continue |
1106 |
continue |
1106 |
elif len(matched) == 1: |
1107 |
elif len(matched) == 1: |
1107 |
conflict_graph.add(matched[0], parent) |
1108 |
conflict_graph.add(matched[0], parent) |
|
|
1109 |
elif len(matched) == 0: |
1110 |
# The typically means that autounmask broke a |
1111 |
# USE-dep, but it could also be due to the slot |
1112 |
# not matching due to multislot (bug #220341). |
1113 |
# Either way, don't try to solve this conflict. |
1114 |
# Instead, force them all into the graph so that |
1115 |
# they are protected from removal. |
1116 |
non_matching_forced.update(conflict) |
1117 |
if debug: |
1118 |
for pkg in conflict: |
1119 |
writemsg_level(" non-match: %s\n" % pkg, |
1120 |
level=logging.DEBUG, noiselevel=-1) |
1108 |
else: |
1121 |
else: |
1109 |
# More than one packages matched, but not all. |
1122 |
# More than one packages matched, but not all. |
1110 |
conflict_graph.add(or_tuple(matched), parent) |
1123 |
conflict_graph.add(or_tuple(matched), parent) |
Lines 1125-1130
class depgraph(object):
Link Here
|
1125 |
# Now select required packages. Collect them in the |
1138 |
# Now select required packages. Collect them in the |
1126 |
# 'forced' set. |
1139 |
# 'forced' set. |
1127 |
forced = set([non_conflict_node]) |
1140 |
forced = set([non_conflict_node]) |
|
|
1141 |
forced.update(non_matching_forced) |
1128 |
unexplored = set([non_conflict_node]) |
1142 |
unexplored = set([non_conflict_node]) |
1129 |
# or_tuples get special handling. We first explore |
1143 |
# or_tuples get special handling. We first explore |
1130 |
# all packages in the hope of having forced one of |
1144 |
# all packages in the hope of having forced one of |