summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/depgraph.py
Commit message (Collapse)AuthorAgeFilesLines
* Bug #337178 - Fix slot conflict backtracking to mask the higherZac Medico2010-09-271-10/+36
| | | | | | | | | | version if appropriate. Generally, we mask the higher version since this solves common cases in which a lower version is needed so that all dependencies will be satisfied (bug #337178). However, if existing_node happens to be installed then we mask that since this is a common case that is triggered when --update is not enabled.
* Revert one more change from bug #337178: parent_atoms is supposedZac Medico2010-09-261-1/+1
| | | | to refer to the new pkg, not the one to_be_masked.
* Revert slot conflict behavior backtracking behavior changes fromZac Medico2010-09-261-5/+6
| | | | | | | | bug #337178 and comment about reasoning for behavior. We always mask existing_node since _select_package tries to avoid slot conflicts when possible and therefore a conflict typically means that existing_node was a poor choice.
* Fix confusing messages shown byZac Medico2010-09-261-6/+6
| | | | | | | | | | | depgraph._show_missed_update_slot_conflicts() since the fix from bug #337178. When depgraph._add_pkg() was fixed to mask the higher version in 4bc78ab0b563697b98527eebcdfe474863383cf0, we didn't adjust the parent_atoms variable so that it would contain parent atoms from the versions being masked. This resulted in confusing messages from depgraph._show_missed_update_slot_conflicts().
* Tests: add resolver/test_output: Make sure we don't backtrace in the merge ↵Sebastian Luther2010-09-201-16/+12
| | | | list printer
* Move mergelist printing into resolver/output.pySebastian Luther2010-09-201-799/+4
|
* Always mask the higher version when backtracking due to a slot conflictSebastian Luther2010-09-191-4/+10
|
* Fix depgraph._complete_graph() to preserve initial_arg_list when itZac Medico2010-09-191-4/+6
| | | | updates args with _set_args().
* Fix incorrect depgraph_sets reference in depgraph._load_favorites().v2.2_rc84Zac Medico2010-09-181-1/+1
|
* Invert SetArg conditional in depgraph._set_args(), for clarity.Zac Medico2010-09-181-3/+4
|
* Add multiple $ROOT support to depgraph._iter_atoms_for_pkg().Zac Medico2010-09-181-91/+84
|
* Fix breakage in population of dynamic_config._set_atoms since theZac Medico2010-09-181-2/+5
| | | | fix from bug #337540.
* Fix --autounmask get_dep_chain() function to traverse nested sets.Zac Medico2010-09-181-7/+20
|
* Never traverse the same node twice when showing parents inZac Medico2010-09-181-1/+3
| | | | depgraph._show_unsatisfied_dep().
* When depgraph._show_unsatisfied_dep() displays parents, traverse nestedZac Medico2010-09-181-7/+15
| | | | sets.
* Make depgraph._pkg_visibility_check() when --autounmask is notZac Medico2010-09-171-0/+3
| | | | enabled.
* --autounmask: Support license changesSebastian Luther2010-09-171-35/+92
|
* Bug #337540 - Record nested package set information in the digraph.Zac Medico2010-09-171-32/+78
| | | | | | A new depgraph._expand_set_args() method adds nested SetArg instances to the digraph, in order to record parent -> child relationships from nested sets.
* Move traversal of world_sets from calc_depclean() toZac Medico2010-09-161-2/+29
| | | | | | | | depgraph._complete_graph(). With this patch, nested set traversal is only used for removal operations like --depclean and --prune. A later patch will introduce similar traversal for all operations, in order to solve bug #337540.
* Make RepoDisplay __str__ and __unicode__ methods more likeZac Medico2010-09-161-4/+6
| | | | DependencyArg.
* In depgraph._load_vdb(), after calling FakeVartree.sync(), updateZac Medico2010-09-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | self._frozen_config.pkgsettings so that it has populated virtuals. This solves allows us to avoid triggering an AssertionError reported at http://forums.gentoo.org/viewtopic-t-844519.html with the following traceback: Calculating dependencies... done! Traceback (most recent call last): File "/usr/bin/emerge", line 43, in <module> retval = emerge_main() File "/usr/lib/portage/pym/_emerge/main.py", line 1683, in emerge_main myopts, myaction, myfiles, spinner) File "/usr/lib/portage/pym/_emerge/actions.py", line 204, in action_build settings, trees, mtimedb, myopts, myparams, spinner) File "/usr/lib/portage/pym/_emerge/depgraph.py", line 6047, in resume_depgraph myparams, spinner) File "/usr/lib/portage/pym/_emerge/depgraph.py", line 6070, in _resume_depgraph skip_masked=skip_masked) File "/usr/lib/portage/pym/_emerge/depgraph.py", line 5617, in _loadResumeCommand if not self._add_pkg(task, None): File "/usr/lib/portage/pym/_emerge/depgraph.py", line 893, in _add_pkg pkgsettings.setinst(pkg.cpv, pkg.metadata) File "/usr/lib/portage/pym/portage/package/ebuild/config.py", line 1757, in setinst self._virtuals_manager.add_depgraph_virtuals(mycpv, virts) File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 199, in add_depgraph_virtuals self.getvirtuals() File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 156, in getvirtuals self._compile_virtuals() File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 131, in _compile_virtuals "any query about virtuals" AssertionError: _populate_treeVirtuals() must be called before any query about virtuals
* Don't miss a "missing IUSE" because of [foo?] -> [] evaluations.Sebastian Luther2010-09-131-15/+14
| | | | This patch also drops flags with EAPI 4 use dep defaults from use.required.
* Ensure that depgraph._show_unsatisfied_dep() doesn't suggest changesZac Medico2010-09-101-0/+15
| | | | to masked or forced USE flags.
* In depgraph._show_unsatisfied_dep(), if the child package is masked then aZac Medico2010-09-101-0/+7
| | | | | change to parent USE is not a valid solution (a normal mask message should be displayed instead).
* Fix typo in comment.Arfrever Frehtes Taifersar Arahesis2010-09-081-1/+1
|
* Bug #332719 - For removal operations, use _dep_check_composite_dbZac Medico2010-09-081-10/+39
| | | | | for availability and visibilty checks. This provides consistency with install operations, so we don't get install/uninstall cycles.
* Make previous commit reference self._depgraph._pkg_visibility_check().Zac Medico2010-09-081-1/+1
|
* In depgraph._dep_check_composite_db._visible(), wrap installed packageZac Medico2010-09-081-1/+1
| | | | visiblity checks with self._pkg_visibility_check().
* Move the Scheduler mergelist constructor parameter to the graph_configZac Medico2010-09-061-4/+7
| | | | object.
* Fix depgraph._wrapped_select_pkg_highest_available_imp() to checkZac Medico2010-09-061-1/+3
| | | | | USE settings for installed packages when --newuse is enabled in cases when none of the packages match a given USE dep.
* Make the depgraph and FakeVartree cooperate to consistently createZac Medico2010-09-061-1/+5
| | | | | Package instances whose root_config attribute is a specially optimized RootConfig that has a FakeVartree instead of a real vartree.
* In depgraph.schedulerGraph(), make sure all references are brokenZac Medico2010-09-061-0/+1
| | | | to packages in the FakeVartrees.
* Make depgraph.schedulerGraph() return an instance ofZac Medico2010-09-061-1/+23
| | | | | | | _scheduler_graph_config instead of just a digraph. This new object includes instances of FakeVartree and a package cache that is pruned to contain only installed packages or those in the digraph.
* Fix want_restart_for_use_change() to flatten deps before comparing tokens as ↵Sebastian Luther2010-09-051-2/+2
| | | | sets.
* Fix depgraph._wrapped_select_pkg_highest_available_imp() to checkZac Medico2010-09-051-1/+1
| | | | USE settings for installed packages when --newuse is enabled.
* Account for package.use.force/mask in previous commit.Zac Medico2010-09-031-2/+4
|
* autounmask: Don't print masked/forced flags in "required by" commentsSebastian Luther2010-09-031-0/+4
|
* Old "Change USE" message: Don't screw up if the highest version is masked ↵Sebastian Luther2010-09-031-7/+17
| | | | and parent changes exist
* Bug #335642 - Also make show_masked_packages() display to stdout sinceZac Medico2010-09-011-2/+2
| | | | depgraph._show_unsatisfied_dep() calls it.
* Bug #335642 - Revert depgraph._show_unsatisfied_dep() to display toZac Medico2010-09-011-14/+14
| | | | | | | | | stdout, so that app-portage/autounmask continues to work. Note that depgraph.display_problems() temporarily overrides the stdout stream to point to stderr, so mask messages shown there continue to go to stderr. Maybe the emerge --autounmask will eventually make app-portage/autounmask obsolete, but for now we should support both approaches since emerge --autounmask is relatively experimental.
* Fix depgraph._serialize_tasks() so that portage-9999 is always promotedZac Medico2010-08-311-1/+3
| | | | to the front of the merge list when it is reinstalled.
* When portage updates itself and the new version either inheritsZac Medico2010-08-311-1/+3
| | | | | | | | | git.eclass or has 9999 in its version, trigger the 'use copy of current sources for install, then restart portage' routine. This is required since with the live git portage-9999 ebuild we can't use the version to detect incompatible changes to ebuild.sh. This issue was noticed due to recent versions of ebuild.sh expecting PORTAGE_BZIP2_COMMAND to be set, causing incompatibility with installed portage-9999 instances.
* Rename the portage.sets module to portage._sets since it will be usefulZac Medico2010-08-301-2/+2
| | | | | in the upcoming 2.1.9 branch which will not have sets support but will still have the code in private and disabled form.
* Fix some typos.Arfrever Frehtes Taifersar Arahesis2010-08-291-1/+1
|
* If there are circular dependencies, and circular_dependency_handlerZac Medico2010-08-281-3/+6
| | | | | | doesn't have a message, eliminate root nodes before calling digraph.debug_print(). If --debug is enabled then do this even if circular_dependency_handler has a message.
* In depgraph._show_unsatisfied_dep(), show some debug info ifZac Medico2010-08-281-5/+12
| | | | Atom.violated_conditionals() raises InvalidAtom.
* Fix breakage from previous commit.Zac Medico2010-08-261-0/+2
|
* Use Package.visible to simplify visibility checks for installedZac Medico2010-08-261-11/+1
| | | | packages, no that it accounts for invalid metadata.
* Ensure SystemExit is never caught.Zac Medico2010-08-261-2/+2
|
* Remove obsolete TODO comment.Zac Medico2010-08-251-3/+0
|