Lines 231-244
class slot_conflict_handler(object):
Link Here
|
231 |
collision_reasons[("version", sub_type)] = atoms |
231 |
collision_reasons[("version", sub_type)] = atoms |
232 |
elif not atom_set.findAtomForPackage(other_pkg, \ |
232 |
elif not atom_set.findAtomForPackage(other_pkg, \ |
233 |
modified_use=_pkg_use_enabled(other_pkg)): |
233 |
modified_use=_pkg_use_enabled(other_pkg)): |
234 |
#Use conditionals not met. |
234 |
missing_iuse = other_pkg.iuse.get_missing_iuse( |
235 |
violated_atom = atom.violated_conditionals(_pkg_use_enabled(other_pkg), \ |
235 |
atom.unevaluated_atom.use.required) |
236 |
other_pkg.iuse.is_valid_flag) |
236 |
if missing_iuse: |
237 |
for flag in violated_atom.use.enabled.union(violated_atom.use.disabled): |
237 |
for flag in missing_iuse: |
238 |
atoms = collision_reasons.get(("use", flag), set()) |
238 |
atoms = collision_reasons.get(("use", flag), set()) |
239 |
atoms.add((ppkg, atom, other_pkg)) |
239 |
atoms.add((ppkg, atom, other_pkg)) |
240 |
collision_reasons[("use", flag)] = atoms |
240 |
collision_reasons[("use", flag)] = atoms |
241 |
num_all_specific_atoms += 1 |
241 |
num_all_specific_atoms += 1 |
|
|
242 |
else: |
243 |
#Use conditionals not met. |
244 |
violated_atom = atom.violated_conditionals(_pkg_use_enabled(other_pkg), \ |
245 |
other_pkg.iuse.is_valid_flag) |
246 |
for flag in violated_atom.use.enabled.union(violated_atom.use.disabled): |
247 |
atoms = collision_reasons.get(("use", flag), set()) |
248 |
atoms.add((ppkg, atom, other_pkg)) |
249 |
collision_reasons[("use", flag)] = atoms |
250 |
num_all_specific_atoms += 1 |
242 |
|
251 |
|
243 |
msg.append(" pulled in by\n") |
252 |
msg.append(" pulled in by\n") |
244 |
|
253 |
|
Lines 296-315
class slot_conflict_handler(object):
Link Here
|
296 |
atom_str = str(atom) |
305 |
atom_str = str(atom) |
297 |
if version: |
306 |
if version: |
298 |
op = atom.operator |
307 |
op = atom.operator |
299 |
ver = cpv_getversion(atom.cpv) |
308 |
ver = None |
|
|
309 |
if atom.cp != atom.cpv: |
310 |
ver = cpv_getversion(atom.cpv) |
300 |
slot = atom.slot |
311 |
slot = atom.slot |
301 |
|
312 |
|
302 |
if op == "=*": |
313 |
if op == "=*": |
303 |
op = "=" |
314 |
op = "=" |
304 |
ver += "*" |
315 |
ver += "*" |
305 |
|
316 |
|
306 |
atom_str = atom_str.replace(op, colorize("BAD", op), 1) |
317 |
if op is not None: |
307 |
|
318 |
atom_str = atom_str.replace(op, colorize("BAD", op), 1) |
308 |
start = atom_str.rfind(ver) |
319 |
|
309 |
end = start + len(ver) |
320 |
if ver is not None: |
310 |
atom_str = atom_str[:start] + \ |
321 |
start = atom_str.rfind(ver) |
311 |
colorize("BAD", ver) + \ |
322 |
end = start + len(ver) |
312 |
atom_str[end:] |
323 |
atom_str = atom_str[:start] + \ |
|
|
324 |
colorize("BAD", ver) + \ |
325 |
atom_str[end:] |
313 |
if slot: |
326 |
if slot: |
314 |
atom_str = atom_str.replace(":" + slot, colorize("BAD", ":" + slot)) |
327 |
atom_str = atom_str.replace(":" + slot, colorize("BAD", ":" + slot)) |
315 |
|
328 |
|