Lines 1171-1182
class depgraph(object):
Link Here
|
1171 |
for match in matched: |
1171 |
for match in matched: |
1172 |
writemsg_level(" match: %s\n" % match, level=logging.DEBUG, noiselevel=-1) |
1172 |
writemsg_level(" match: %s\n" % match, level=logging.DEBUG, noiselevel=-1) |
1173 |
|
1173 |
|
1174 |
if len(matched) == len(conflict): |
1174 |
if len(matched) > 1: |
1175 |
# All packages match. |
1175 |
# Even if all packages match, This parent must still |
1176 |
continue |
1176 |
# be added to the conflict_graph. Otherwise, we risk |
|
|
1177 |
# removing all of these packages from the depgraph, |
1178 |
# which could cause a missed update (bug #522084). |
1179 |
conflict_graph.add(or_tuple(matched), parent) |
1177 |
elif len(matched) == 1: |
1180 |
elif len(matched) == 1: |
1178 |
conflict_graph.add(matched[0], parent) |
1181 |
conflict_graph.add(matched[0], parent) |
1179 |
elif len(matched) == 0: |
1182 |
else: |
1180 |
# This typically means that autounmask broke a |
1183 |
# This typically means that autounmask broke a |
1181 |
# USE-dep, but it could also be due to the slot |
1184 |
# USE-dep, but it could also be due to the slot |
1182 |
# not matching due to multislot (bug #220341). |
1185 |
# not matching due to multislot (bug #220341). |
Lines 1188-1196
class depgraph(object):
Link Here
|
1188 |
for pkg in conflict: |
1191 |
for pkg in conflict: |
1189 |
writemsg_level(" non-match: %s\n" % pkg, |
1192 |
writemsg_level(" non-match: %s\n" % pkg, |
1190 |
level=logging.DEBUG, noiselevel=-1) |
1193 |
level=logging.DEBUG, noiselevel=-1) |
1191 |
else: |
|
|
1192 |
# More than one packages matched, but not all. |
1193 |
conflict_graph.add(or_tuple(matched), parent) |
1194 |
|
1194 |
|
1195 |
for pkg in indirect_conflict_pkgs: |
1195 |
for pkg in indirect_conflict_pkgs: |
1196 |
for parent, atom in self._dynamic_config._parent_atoms.get(pkg, []): |
1196 |
for parent, atom in self._dynamic_config._parent_atoms.get(pkg, []): |