Lines 527-532
class depgraph(object):
Link Here
|
527 |
self._event_loop = (portage._internal_caller and |
527 |
self._event_loop = (portage._internal_caller and |
528 |
global_event_loop() or EventLoop(main=False)) |
528 |
global_event_loop() or EventLoop(main=False)) |
529 |
|
529 |
|
|
|
530 |
self._select_atoms_parent = None |
531 |
|
530 |
self.query = UserQuery(myopts).query |
532 |
self.query = UserQuery(myopts).query |
531 |
|
533 |
|
532 |
def _load_vdb(self): |
534 |
def _load_vdb(self): |
Lines 4062-4072
class depgraph(object):
Link Here
|
4062 |
self._dynamic_config._autounmask = False |
4064 |
self._dynamic_config._autounmask = False |
4063 |
# backup state for restoration, in case of recursive |
4065 |
# backup state for restoration, in case of recursive |
4064 |
# calls to this method |
4066 |
# calls to this method |
|
|
4067 |
backup_parent = self._select_atoms_parent |
4065 |
backup_state = mytrees.copy() |
4068 |
backup_state = mytrees.copy() |
4066 |
try: |
4069 |
try: |
4067 |
# clear state from previous call, in case this |
4070 |
# clear state from previous call, in case this |
4068 |
# call is recursive (we have a backup, that we |
4071 |
# call is recursive (we have a backup, that we |
4069 |
# will use to restore it later) |
4072 |
# will use to restore it later) |
|
|
4073 |
self._select_atoms_parent = None |
4070 |
mytrees.pop("pkg_use_enabled", None) |
4074 |
mytrees.pop("pkg_use_enabled", None) |
4071 |
mytrees.pop("parent", None) |
4075 |
mytrees.pop("parent", None) |
4072 |
mytrees.pop("atom_graph", None) |
4076 |
mytrees.pop("atom_graph", None) |
Lines 4074-4079
class depgraph(object):
Link Here
|
4074 |
|
4078 |
|
4075 |
mytrees["pkg_use_enabled"] = self._pkg_use_enabled |
4079 |
mytrees["pkg_use_enabled"] = self._pkg_use_enabled |
4076 |
if parent is not None: |
4080 |
if parent is not None: |
|
|
4081 |
self._select_atoms_parent = parent |
4077 |
mytrees["parent"] = parent |
4082 |
mytrees["parent"] = parent |
4078 |
mytrees["atom_graph"] = atom_graph |
4083 |
mytrees["atom_graph"] = atom_graph |
4079 |
if priority is not None: |
4084 |
if priority is not None: |
Lines 4085-4090
class depgraph(object):
Link Here
|
4085 |
finally: |
4090 |
finally: |
4086 |
# restore state |
4091 |
# restore state |
4087 |
self._dynamic_config._autounmask = _autounmask_backup |
4092 |
self._dynamic_config._autounmask = _autounmask_backup |
|
|
4093 |
self._select_atoms_parent = backup_parent |
4088 |
mytrees.pop("pkg_use_enabled", None) |
4094 |
mytrees.pop("pkg_use_enabled", None) |
4089 |
mytrees.pop("parent", None) |
4095 |
mytrees.pop("parent", None) |
4090 |
mytrees.pop("atom_graph", None) |
4096 |
mytrees.pop("atom_graph", None) |
Lines 8529-8534
class _dep_check_composite_db(dbapi):
Link Here
|
8529 |
elif not self._depgraph._equiv_ebuild_visible(pkg): |
8535 |
elif not self._depgraph._equiv_ebuild_visible(pkg): |
8530 |
return False |
8536 |
return False |
8531 |
|
8537 |
|
|
|
8538 |
if pkg.cp.startswith("virtual/"): |
8539 |
# Force virtual updates to be pulled in when appropriate |
8540 |
# for bug #526160. |
8541 |
want_update = False |
8542 |
if self._depgraph._select_atoms_parent is not None: |
8543 |
want_update = \ |
8544 |
self._depgraph._want_update_pkg( |
8545 |
self._depgraph._select_atoms_parent, pkg) |
8546 |
|
8547 |
if want_update: |
8548 |
for new_child in self._depgraph._iter_similar_available( |
8549 |
pkg, next(iter(atom_set))): |
8550 |
if not self._depgraph._virt_deps_visible( |
8551 |
new_child, ignore_use=True): |
8552 |
continue |
8553 |
if pkg < new_child: |
8554 |
return False |
8555 |
|
8532 |
in_graph = next(self._depgraph._dynamic_config._package_tracker.match( |
8556 |
in_graph = next(self._depgraph._dynamic_config._package_tracker.match( |
8533 |
self._root, pkg.slot_atom, installed=False), None) |
8557 |
self._root, pkg.slot_atom, installed=False), None) |
8534 |
|
8558 |
|