class DependencyArg(object):
- __slots__ = ('arg', 'force_reinstall', 'reset_depth', 'root_config')
+ __slots__ = ('arg', 'force_reinstall', 'internal', 'reset_depth', 'root_config')
- def __init__(self, arg=None, force_reinstall=False,
+ def __init__(self, arg=None, force_reinstall=False, internal=False,
reset_depth=True, root_config=None):
"""
Use reset_depth=False for special arguments that should not interact
"""
self.arg = arg
self.force_reinstall = force_reinstall
+ self.internal = internal
self.reset_depth = reset_depth
self.root_config = root_config
if isinstance(arg, (AtomArg, PackageArg)):
myfavorites.add(arg.atom)
elif isinstance(arg, SetArg):
- myfavorites.add(arg.arg)
+ if not arg.internal:
+ myfavorites.add(arg.arg)
myfavorites = list(myfavorites)
if debug:
# to behave like normal arguments in most other respects.
pset=InternalPackageSet(initial_atoms=atoms),
force_reinstall=True,
+ internal=True,
reset_depth=False,
root_config=self._frozen_config.roots[root])
continue
if arg.root_config.root != root_config.root:
continue
+ if arg.internal:
+ # __auto_* sets
+ continue
k = arg.name
if k in ("selected", "world") or \
not root_config.sets[k].world_candidate: