summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/depgraph.py
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Just raise InvalidDependString in cases when it shouldn't happen sinceZac Medico2010-08-251-11/+7
| | | | | the package is not installed and it should have been validated and masked already if necessary.
* Make _get_masking_status() return masking reasons for installed packagesZac Medico2010-08-251-11/+9
| | | | | | | with invalid metadata, and remove show_invalid_depstring_notice() calls for installed packages since depgraph.display_problems() will now show the invalid metadata masking reasons when it displays installed packages that are masked.
* Bug #334365 - Fix depgraph._wrapped_select_pkg_highest_available_imp()Zac Medico2010-08-251-4/+20
| | | | | | to avoid invalid or masked installed packages when necessary. This is especially important for invalid packages since they need be replaced so that their dependencies can be parsed for --depclean operations.
* Bug #334365 - Mask packages with invalid metadata as early as possible,Zac Medico2010-08-251-11/+10
| | | | | | so that the depgraph won't select them unless they are already installed and there is no other choice. This should trigger automatic reinstallation of installed packages that have invalid metadata.
* Bug #334365 - When parsing dependencies of installed packages inZac Medico2010-08-251-2/+27
| | | | | | | | | | | depgraph._add_pkg_deps(), ignore invalid USE conditionals, since these are a common problem and it's practical to ignore them for installed packages. TODO: For installed package, save any InvalidDependString info in dynamic_config and wait until display_problems() to show it. For packages that aren't installed, we should validate and mask them before they are selected.
* More _pkg_use_enabled fixesSebastian Luther2010-08-241-18/+22
|
* * Use iterators instead of keys() when possible.Zac Medico2010-08-231-8/+8
| | | | | | * Use iterators instead of sets for set.intersection() calls. * Use digraph.__iter__ and __contains__ as shortcuts to digraph.nodes access.
* In depgraph._select_pkg_highest_available_imp(), make sureZac Medico2010-08-231-1/+2
| | | | | allow_unstable_keywords is True before adding a package to _needed_unstable_keywords.
* Pass a keyword hint from getmaskingstatus() to the autounmask code.Zac Medico2010-08-231-2/+11
|
* Fix broken writemsg call in depgraph._resolve() that triggers this error:Zac Medico2010-08-211-1/+1
| | | | TypeError: writemsg() got an unexpected keyword argument 'file'
* --autounmask: If we can't do a change because of REQUIRED_USE, give at least ↵Sebastian Luther2010-08-201-11/+41
| | | | a good error message
* --autounmask: Don't do use changes if they violate REQUIRED_USESebastian Luther2010-08-201-19/+32
| | | | This also fixes some pkg.use.enabled / _pkg_use_enabled(pkg) bugs
* slot collision handler: Work correctly with --autounmaskSebastian Luther2010-08-201-3/+1
|
* Add experimental EPREFIX/EROOT support to the config and vartreeZac Medico2010-08-191-4/+1
| | | | | | | | | classes, and use it in ResolverPlayground to emulate a prefix-like environment. This fixes ResolverPlayground so that it doesn't have to abuse the --root and --root-deps options in order to create a testing environment. Instead it simply creates a temporary EPREFIX. WARNING: EPREFIX/EROOT support is experimental and may be incomplete for cases in which EPREFIX is non-empty.
* Rename the bdeps_root variable to depend_root, since it's used to controlZac Medico2010-08-191-4/+4
| | | | | DEPEND and in the future we may have separate build-time dep types for host and target.
* Eliminate the bdeps_optional variables inside depgraph._add_pkg_deps(),Zac Medico2010-08-191-4/+3
| | | | and use the pkg.built attribute instead.
* Move the clever parts of depgraph._show_circular_deps into its own module.Sebastian Luther2010-08-191-155/+13
| | | | This also fixes some bugs related to autounmask.
* cycle-finder: Don't try to change flags that are in use.{make,focrce}Sebastian Luther2010-08-191-16/+5
|
* When suggesting solutions inside _show_circular_deps(), ignore solutionsZac Medico2010-08-181-0/+16
| | | | that involve changes to use.mask or use.force settings.
* Fix deprecation warnings from paren_reduce.Zac Medico2010-08-181-2/+2
|
* Fix small bug in _show_circular_deps and add some testsSebastian Luther2010-08-181-2/+1
|
* _show_circular_deps: Ignore solution that violate use dpendencies specified ↵Sebastian Luther2010-08-181-6/+39
| | | | by parents. Warn the user if there are many cycles.
* _show_circular_deps: Stop prunning the graph to show (other) parents of the ↵Sebastian Luther2010-08-181-14/+0
| | | | involved packages in the merge list
* _show_circular_deps: Fix handling of 'None' returned by ↵Sebastian Luther2010-08-181-1/+2
| | | | extract_affecting_use and remove debug output
* _emerge.depgraph._show_circular_deps(): Find suggestions if an atom occures ↵Sebastian Luther2010-08-181-11/+66
| | | | more than once in a dep string
* Print suggestions for circular dependenciesSebastian Luther2010-08-181-8/+44
|
* _emerge.depgraph._show_circular_deps(): Display only the smallest cycleSebastian Luther2010-08-181-1/+31
|
* * Replace config._iuse_implicit_re with a callable _iuse_implicit_matchZac Medico2010-08-181-7/+2
| | | | | | | object that simply returns boolean, and update consumers. * Make check_required_use() take a callable for the iuse parameter, and pass in Package.use.is_valid_flag or iuse.__contains__ as appropriate.