Lines 337-350
class slot_conflict_handler(object):
Link Here
|
337 |
#are fewer possible solutions. |
337 |
#are fewer possible solutions. |
338 |
use = sub_type |
338 |
use = sub_type |
339 |
for ppkg, atom, other_pkg in parents: |
339 |
for ppkg, atom, other_pkg in parents: |
340 |
parent_use = None |
340 |
missing_iuse = other_pkg.iuse.get_missing_iuse( |
341 |
if isinstance(ppkg, Package): |
341 |
atom.unevaluated_atom.use.required) |
342 |
parent_use = _pkg_use_enabled(ppkg) |
342 |
if missing_iuse: |
343 |
violated_atom = atom.unevaluated_atom.violated_conditionals( \ |
|
|
344 |
_pkg_use_enabled(other_pkg), other_pkg.iuse.is_valid_flag, |
345 |
parent_use=parent_use) |
346 |
if use in violated_atom.use.enabled.union(violated_atom.use.disabled): |
347 |
unconditional_use_deps.add((ppkg, atom)) |
343 |
unconditional_use_deps.add((ppkg, atom)) |
|
|
344 |
else: |
345 |
parent_use = None |
346 |
if isinstance(ppkg, Package): |
347 |
parent_use = _pkg_use_enabled(ppkg) |
348 |
violated_atom = atom.unevaluated_atom.violated_conditionals( |
349 |
_pkg_use_enabled(other_pkg), |
350 |
other_pkg.iuse.is_valid_flag, |
351 |
parent_use=parent_use) |
352 |
if use in violated_atom.use.enabled or \ |
353 |
use in violated_atom.use.disabled: |
354 |
unconditional_use_deps.add((ppkg, atom)) |
348 |
# When USE flags are removed, it can be |
355 |
# When USE flags are removed, it can be |
349 |
# essential to see all broken reverse |
356 |
# essential to see all broken reverse |
350 |
# dependencies here, so don't omit any. |
357 |
# dependencies here, so don't omit any. |