summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
Commit message (Collapse)AuthorAgeFilesLines
* Add missing slot comparison when looking for higher slot inZac Medico2008-04-281-2/+3
| | | | | | _iter_atoms_for_pkg(). svn path=/main/trunk/; revision=10008
* Bug #218854 - Fix depgraph._iter_atoms_for_pkg() so that argument atomsZac Medico2008-04-281-8/+58
| | | | | | only match the highest visible slot. svn path=/main/trunk/; revision=10007
* * Remove the only remaining sys.exit() calls inside the depgraph class.Zac Medico2008-04-271-5/+9
| | | | | | * Fix _unknown_internal_error() to work with zero arguments. svn path=/main/trunk/; revision=10005
* Never uninstall sys-apps/portage except through replacement.Zac Medico2008-04-271-0/+4
| | | | svn path=/main/trunk/; revision=10003
* Bug #219369 - Enable automatic upgrage or downgrade to a versionZac Medico2008-04-271-0/+20
| | | | | | | | with visible KEYWORDS when the installed version is masked by KEYWORDS, but never reinstall the same exact version only due to a KEYWORDS mask. svn path=/main/trunk/; revision=10001
* Take the classes that initialize variables in __slots__ with keywordZac Medico2008-04-271-42/+31
| | | | | | | constructor arguments and make them all derive from a new SlotObject class. svn path=/main/trunk/; revision=9994
* Create a digraph.difference_update() method and use it to amortize theZac Medico2008-04-271-6/+10
| | | | | | cost of removing nodes from the digraph.order list. svn path=/main/trunk/; revision=9992
* Remove unnecessary "mydbapi" variable in depgraph.display().Zac Medico2008-04-271-14/+3
| | | | svn path=/main/trunk/; revision=9990
* Bug #172812 - When a package needs to be uninstalled in advance ratherZac Medico2008-04-271-24/+77
| | | | | | | | | | | than through replacement, show the corresponding [blocks] entries in the displayed list. In order to show more structure in the --tree display, expand Package -> Uninstall edges into Package -> Blocker -> Uninstall edges. Also, create edges between a package's own blockers and it's Uninstall task since it's blockers become irrelevant as soon as it's uninstalled. svn path=/main/trunk/; revision=9983
* Add a PackageVirtualDbapi.copy() method.Zac Medico2008-04-261-0/+9
| | | | svn path=/main/trunk/; revision=9982
* Use digraphs to clean up blocker reference counting in the depgraph.Zac Medico2008-04-261-45/+47
| | | | svn path=/main/trunk/; revision=9981
* Don't assume that altlist() will succeed inside display_problems().Zac Medico2008-04-261-1/+1
| | | | svn path=/main/trunk/; revision=9980
* * Add a Blocker class to use instead of tuples.Zac Medico2008-04-261-5/+24
| | | | | | | * Fix the Task constructor to properly traverse __slots__ of all inherited classes. svn path=/main/trunk/; revision=9979
* Refactor the way that depgraph.altlist(), _complete_graph(), andZac Medico2008-04-251-28/+22
| | | | | | | validate_blockers() interact with eachother. This simplifies things by eliminating the need for recursive calls to validate_blockers(). svn path=/main/trunk/; revision=9977
* Add some more spinner.update() calls in possibly time consuming loops.Zac Medico2008-04-251-0/+4
| | | | svn path=/main/trunk/; revision=9968
* Bug #172812 - If any Uninstall tasks need to be executed in orderZac Medico2008-04-251-58/+108
| | | | | | | | to avoid a conflict, complete the graph with any dependencies that may have been initially neglected (to ensure that unsafe Uninstall tasks are properly identified and blocked from execution). svn path=/main/trunk/; revision=9965
* Update description of "complete" depgraph param.Zac Medico2008-04-241-3/+1
| | | | svn path=/main/trunk/; revision=9964
* Rename the "consistent" depgraph parameter to "complete" since what itZac Medico2008-04-241-5/+5
| | | | | | | really means is that the graph will be complete in the sense that no known dependencies are neglected. svn path=/main/trunk/; revision=9963
* Fix interaction between automatic uninstall and options like --pretend,Zac Medico2008-04-241-1/+3
| | | | | | --fetchonly, and --buildpkgonly. svn path=/main/trunk/; revision=9956
* Handle potential InvalidDependString exceptions when match packages toZac Medico2008-04-241-14/+21
| | | | | | system and world atoms in depgraph.altlist(). svn path=/main/trunk/; revision=9955
* Fix broken mtimedb resume list handling for automatic uninstall tasks.Zac Medico2008-04-241-5/+7
| | | | svn path=/main/trunk/; revision=9954
* Combine --nodeps spinner logic.Zac Medico2008-04-241-5/+4
| | | | svn path=/main/trunk/; revision=9953
* Bug #172812 - When automatically uninstalling packages, build the nextZac Medico2008-04-241-8/+13
| | | | | | package in the merge list before executing scheduled uninstall tasks. svn path=/main/trunk/; revision=9952
* Split out a _dequeue_uninstall_tasks() method.Zac Medico2008-04-241-7/+12
| | | | svn path=/main/trunk/; revision=9951
* Reset the state variables for leaf node selection in depgraph.altlist()Zac Medico2008-04-241-0/+6
| | | | | | when appropriate. svn path=/main/trunk/; revision=9950
* Bug #172812 - Protect packages from being removed from the world fileZac Medico2008-04-231-3/+4
| | | | | | during automatic uninstallation. svn path=/main/trunk/; revision=9949
* Bug #172812 - Automatically uninstall packages to avoid blocker conflicts.Zac Medico2008-04-231-84/+269
| | | | | | | | | | | | | | | | | | | The intention is to only uninstall packages that would be removed by --depclean (after the updates) anyway. To prevent automatic uninstallation of packages that the user probably wants to keep, the following types of packages will not be automatically unmerged: * Installed packages that have been pulled into the current dependency graph. Note that this check is not necessarily complete unless the --complete-graph option is enabled, making other sanity checks necessary. * Installed packages matched by atoms from the system set. For safety, these are unmerged after being replaced by another version. * Installed packages matched by atoms from the world set, if there is no matching replacement in the current dependency graph. svn path=/main/trunk/; revision=9946
* Bug #172812 - Add an Uninstall class derived from the Package class, forZac Medico2008-04-221-24/+57
| | | | | | packages that may need to be uninstalled to avoid conflicts. svn path=/main/trunk/; revision=9945
* Swap --nospinner and --oneshot for alphabetical ordering.Zac Medico2008-04-211-1/+1
| | | | svn path=/main/trunk/; revision=9941
* Bug #218439 - Improve alignment in short emerge --help options output.Zac Medico2008-04-211-5/+6
| | | | svn path=/main/trunk/; revision=9940
* In show_slot_collision_notice(), refer to the problem as a "slot conflict"Zac Medico2008-04-211-2/+3
| | | | | | since that's how I'm refering to it in the docs. svn path=/main/trunk/; revision=9938
* In action_metadata(), properly put the source cache in readonly mode.Zac Medico2008-04-211-1/+1
| | | | svn path=/main/trunk/; revision=9936
* Bug #218202 - Make sure the spinner is quiet in --nodep mode.Zac Medico2008-04-181-0/+2
| | | | svn path=/main/trunk/; revision=9924
* Handle potential InvalidDependString exceptions from visible().Zac Medico2008-04-161-4/+11
| | | | svn path=/main/trunk/; revision=9912
* Comment some more on the significance of passing the graph_db and parentZac Medico2008-04-151-1/+8
| | | | | | | into depgraph._select_atoms() to solve some cases of bug #1343 while avoiding unresolvable direct circular dependencies. svn path=/main/trunk/; revision=9904
* Add support to depgraph._select_atoms() to take a "parent" parameterZac Medico2008-04-151-2/+7
| | | | | | | | | | | | and use that to try and avoid unresolvable direct circular dependencies when necessary. Also, make atom selection more consistent with the graph to solve some cases of bug #1343. This improves the fix from bug #141118 to work in cases when a virtual is not yet installed but it has been pulled into the graph. For example, see the case of in Bug #163801#c17, where we want kaffe to satisfy virtual/jdk-1.4 without an extra jvm being pulled in unnecessarily. svn path=/main/trunk/; revision=9901
* Revert part of atom selection consistency improvement from r9873 since itZac Medico2008-04-151-1/+12
| | | | | | | | | | in some cases it triggers unresolvable direct circular dependencies. For example, this happens with gwydion-dylan which depends on either itself or gwydion-dylan-bin. In case gwydion-dylan is not yet installed, gwydion-dylan-bin needs to be selected in order to avoid a an unresolvable direct circular dependency. svn path=/main/trunk/; revision=9900
* Bug #217664 - Fix emerge 'by path' package argument handling so thatZac Medico2008-04-141-0/+2
| | | | | | Package instances are properly cached (avoiding a KeyError later). svn path=/main/trunk/; revision=9898
* Fix some breakage in the allow_unsatisfied handling.Zac Medico2008-04-141-4/+7
| | | | svn path=/main/trunk/; revision=9886
* Call depgraph._add_dep() to add package dependencies to the graphZac Medico2008-04-141-4/+3
| | | | | | as soon as possible rather than pushing them onto the stack. svn path=/main/trunk/; revision=9885
* Split out a depgraph._add_dep() method.Zac Medico2008-04-141-54/+59
| | | | svn path=/main/trunk/; revision=9884
* * For optimal atom selection, use PackageVirtualDbapi instances in placeZac Medico2008-04-131-18/+4
| | | | | | | | of the vardb for all dep_check() calls. * Replace dep_check_trees in depgraph.validate_blockers() with the equivalent self._graph_trees reference. svn path=/main/trunk/; revision=9879
* To optimize consistency of atom selections, add all of the root packagesZac Medico2008-04-131-4/+7
| | | | | | to the graph before processing any dependencies. svn path=/main/trunk/; revision=9874
* Improve lookahead for new-style virtuals:Zac Medico2008-04-131-9/+30
| | | | | | | | | | | | | | | | | * Substitue the graph tree for the vartree in dep_check() since we want atom selections to be consistent with package selections have already been made. * Add the selected package to the graph as soon as possible so that later dep_check() calls can use it as feedback for making more consistent atom selections. * Expand all slots of new-style virtuals inside _dep_check_composite_db so that lookahead examines a matched slots. This solves some cases of bug #1343, and extends the fix for bug #141118 to work in cases when a virtual is not yet installed but it has been pulled into the graph. svn path=/main/trunk/; revision=9873
* Fix the _dep_check_composite_db visibility filtering some more.Zac Medico2008-04-131-9/+18
| | | | svn path=/main/trunk/; revision=9872
* Fix _dep_check_composite_db.match() so that it doesn't exempt the highestZac Medico2008-04-131-3/+0
| | | | | | slot from visibility checks. svn path=/main/trunk/; revision=9871
* Make _dep_check_composite_db match() return multiple slots so thatZac Medico2008-04-131-15/+36
| | | | | | | it behaves more like other dbapi instances would, and also make it inherit from dbapi. svn path=/main/trunk/; revision=9870
* In --buildpkgonly mode, don't discard RDEPEND and PDEPEND if --empty orZac Medico2008-04-131-4/+6
| | | | | | | --deep are enabled. The makes it possible to run `emerge -eB world` and have every single package rebuilt (without actually installing anything). svn path=/main/trunk/; revision=9860
* Rename the undocumented --conistent option to --complete-graph and addZac Medico2008-04-112-4/+17
| | | | | | some docs. svn path=/main/trunk/; revision=9846
* Tweak --buildpkgonly and fakeroot logic so that --buildpkgonly can beZac Medico2008-04-111-6/+11
| | | | | | used by a non-root user to build binary packages with fakeroot. svn path=/main/trunk/; revision=9825