summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
Commit message (Collapse)AuthorAgeFilesLines
* For compatibility with python-3.0, use isinstance() instead of type().Zac Medico2009-02-191-3/+3
| | | | svn path=/main/trunk/; revision=12633
* In python-3.0, the UserDict.DictMixin class has been replaced byZac Medico2009-02-191-7/+1
| | | | | | | | | | | | | Mapping and MutableMapping from the collections module, but 2to3 doesn't currently account for this change: http://bugs.python.org/issue2876 As a workaround for the above issue, implement Mapping and MutableMapping classes as substitutes for UserDict.DictMixin so that code converted via 2to3 will run. svn path=/main/trunk/; revision=12628
* Set svn:keywords Id on all files.Zac Medico2009-02-181-1/+1
| | | | svn path=/main/trunk/; revision=12626
* Call depgraph._dep_check_composite_db._clear_cache() insideZac Medico2009-02-181-1/+2
| | | | | | | depgraph._add_pkg() since _dep_check_composite_db._visible() is now affected by which packages are added to the graph. svn path=/main/trunk/; revision=12624
* Bug #253904 - Add a lookahead mechanism insideZac Medico2009-02-171-0/+14
| | | | | | | | depgraph._dep_check_composite_db._visible() which masks package choices that are likely to trigger slot conflicts. Thanks to Vlastimil Babka <caster@g.o> for the suggestion. svn path=/main/trunk/; revision=12623
* Bug #259124 - Inside EbuildFetcher._start(), pass the NOCOLOR variable intoZac Medico2009-02-161-0/+4
| | | | | | the fetch environment, so that --color=n is respected. svn path=/main/trunk/; revision=12621
* Fix broken references to DepPriority attributes.Zac Medico2009-02-151-4/+6
| | | | svn path=/main/trunk/; revision=12619
* Fix merge order calculation so that the circular runtime path isn't enteredZac Medico2009-02-151-1/+2
| | | | | | | | when it's possible to select a node that only has unsatisfied PDEPEND. This reverts an unintended change from the patch for bug #250020, and solves a problem with libperl being merged after perl when building stage 1. svn path=/main/trunk/; revision=12613
* Bug #250020 - When calculating merge order, try to ensure that packagesZac Medico2009-02-141-90/+197
| | | | | | | | | | | | | | | listed in DEPEND are updated before whenever possible (even though the DEPEND may already be satisfied by an installed instance). The changes to the merge order algorithm should also account for many common cases of bug #199856, but does not necessarily solve all cases. Whenever possible, the new algorithm avoids dropping dependencies that are satisfied by installed packages. Such dependencies are only dropped in a couple of cases: * when solving circular dependencies * when promoting packages to in the merge list (either due an unsatisfied PDEPEND or a portage upgrade) svn path=/main/trunk/; revision=12612
* In depgraph._serialize_tasks(), when appropriate, execute uninstall tasksZac Medico2009-02-141-4/+15
| | | | | | | sooner. This solves some cases of bug #256870 since there is a smaller window of time for some other failure to cause the uninstall to get discarded. svn path=/main/trunk/; revision=12611
* For the --buildpkgonly digraph.hasallzeros() check, remove "nomerge" nodesZac Medico2009-02-141-8/+10
| | | | | | | from the graph. This makes it unnecessary to tweak the dependency priority for onlydeps packages inside depgraph._add_pkg_dep(). svn path=/main/trunk/; revision=12610
* In depgraph._serialize_tasks(), verify that an uninstall task has at least oneZac Medico2009-02-131-22/+48
| | | | | | theoretically mergeable parent before choosing to reverse it's edges. svn path=/main/trunk/; revision=12605
* Fix Scheduler._prevent_builddir_collisions() to skip non-Package instancesZac Medico2009-02-131-0/+3
| | | | | | when necessary. svn path=/main/trunk/; revision=12604
* Inside depgraph._select_atoms(), only trigger the circular dependencyZac Medico2009-02-111-2/+11
| | | | | | | | | | avoidance code for buildtime dependencies. This solves a problem with virtual/mysql inappropriately pulling in mysql-community from PDEPEND when satisfying deps of plain mysql. Thanks to Krzysiek Pawlik <nelchael@g.o> for reporting this issue: http://archives.gentoo.org/gentoo-dev/msg_efce154d642fe6ede38d084a33c7f949.xml svn path=/main/trunk/; revision=12599
* Remove support for deprecated 2_pre* EAPI values.Zac Medico2009-02-091-4/+1
| | | | svn path=/main/trunk/; revision=12594
* Make DepPriority.__str__() indicate optional deps.Zac Medico2009-02-051-0/+2
| | | | svn path=/main/trunk/; revision=12586
* Inside depgraph._serialize_tasks(), simplify the logic which delays selectionZac Medico2009-02-051-51/+39
| | | | | | of root nodes. svn path=/main/trunk/; revision=12585
* Fix Scheduler._find_system_deps() so that it only traverses runtime deps.Zac Medico2009-02-041-3/+10
| | | | svn path=/main/trunk/; revision=12581
* Add UnmergeDepPriority.optional attribute, to avoid traceback.Zac Medico2009-02-041-1/+1
| | | | svn path=/main/trunk/; revision=12579
* Bug #256616 - Also consider deep runtime dependencies of system packages whenZac Medico2009-02-031-2/+43
| | | | | | adding packages to merge_wait_queue. svn path=/main/trunk/; revision=12578
* For optional deps pulled in by --with-bdeps=y, set DepPriority.buildtime toZac Medico2009-02-031-1/+2
| | | | | | False. svn path=/main/trunk/; revision=12577
* Add a DepPriority.optional attribute for optional build time deps that areZac Medico2009-02-031-10/+13
| | | | | | pulled in by --with-bdeps=y. svn path=/main/trunk/; revision=12576
* Make emerge --regen return non-zero if that are any failures. Thanks to DanielZac Medico2009-02-031-1/+6
| | | | | | Robbins for reporting. svn path=/main/trunk/; revision=12575
* Use portage.util.cmp_sort_key for python-3.0 compatibility.Zac Medico2009-02-031-6/+6
| | | | svn path=/main/trunk/; revision=12574
* In depgraph._serialize_tasks(), when separating uninstall nodes from leafZac Medico2009-02-021-11/+16
| | | | | | nodes, do it earlier so that it covers more code paths. svn path=/main/trunk/; revision=12570
* Bug #256616 - Since dependencies on system packages are frequently unspecified,Zac Medico2009-02-021-3/+35
| | | | | | | | | merge them only when no builds are executing. When a system package finishes building, it's added to a wait queue that is only processed when the number of running builds drops to zero. All pending merges are then processed before any new builds are allowed to start. svn path=/main/trunk/; revision=12569
* Fix logic inside depgraph._serialize_tasks() to avoid the circular runtimeZac Medico2009-02-021-30/+30
| | | | | | | | | | | | deps path in some cases when it's not appropriate. This solves a case that was reported, in which the perl was merged before libperl due do perl and lots of it's deps being selected all at once. In this case, so many packages were selected at once that the cmp_circular_bias() sort did not order them very well (though it normally works fine with a smaller number of packages). Thanks to Daniel Robbins for reporting this issue and helping me reproduce it. svn path=/main/trunk/; revision=12568
* Fix color in merge list [ebuild ] display, so it's the same regardless ofZac Medico2009-01-291-1/+1
| | | | | | $ROOT. svn path=/main/trunk/; revision=12560
* In EbuildFetcher._start(), don't touch the build dir when in prefetch mode.Zac Medico2009-01-281-6/+14
| | | | | | | | | | In this case, logging goes to emerge-fetch.log and the builddir should not be touched since otherwise it could interfere with another instance of the same cpv concurrently being built for a different $ROOT (currently, builds only cooperate with prefetchers that are spawned for the same $ROOT). Thanks to Daniel Robbins for reporting this issue. svn path=/main/trunk/; revision=12558
* When scheduling builds in parallel for --jobs, avoid potential build dirZac Medico2009-01-281-0/+21
| | | | | | | | collisions in cases when the same exact cpv needs to be merged to multiple $ROOTs (like when building stages). Thanks for Daniel Robbins for reporting this issue and troubleshooting it. svn path=/main/trunk/; revision=12557
* Inside depgraph._dep_expand(), filter use dbapi.cp_list() to filter outZac Medico2009-01-231-2/+9
| | | | | | | any results from dbapi.cp_all() that happen to not contain any ebuilds. Thanks to Jeremy Olexa <darkside@g.o> for reporting. svn path=/main/trunk/; revision=12552
* Fix typo in previous commit.Zac Medico2009-01-221-1/+1
| | | | svn path=/main/trunk/; revision=12550
* Inside depgraph._add_dep(), drop unnecessary build-time deps if there isZac Medico2009-01-221-0/+4
| | | | | | no package available to satisfy it. svn path=/main/trunk/; revision=12549
* Inside depgraph.loadResumeCommand(), always enable deep traversal ofZac Medico2009-01-221-7/+14
| | | | | | | dependencies. This is necessary for correct --keep-going or --resume operation in case a package from a group of circularly dependent packages fails. svn path=/main/trunk/; revision=12548
* Inside depgraph.loadResumeCommand(), when appropriate, complete the graphZac Medico2009-01-221-1/+7
| | | | | | before analyzing any unsatisfied deps that may exist. svn path=/main/trunk/; revision=12547
* Make depgraph._add_dep() ignore fewer dependencies when not in --deep mode, byZac Medico2009-01-221-0/+1
| | | | | | | making it so that it will always account for dependencies on packages that are already installed. svn path=/main/trunk/; revision=12546
* Bug #199408 - Always enable the skip_masked and skip_unsatisfied for theZac Medico2009-01-211-7/+5
| | | | | | | resume_depgraph() function. This will cause emerge --resume to automatically drop masked packages (without the need to specify --skipfirst). svn path=/main/trunk/; revision=12543
* In depgraph.loadResumeCommand(), account for unsatisfied dependencies ofZac Medico2009-01-211-5/+29
| | | | | | | installed packages if they are in the subgraph of dependencies of a package which is scheduled to be installed. svn path=/main/trunk/; revision=12542
* Inside depgraph.loadResumeCommand(), ignore unsatisified dependencies thatZac Medico2009-01-211-2/+8
| | | | | | | | | | are pulled in by installed packages. This is needed in order to avoid having --keep-going bail out needlessly when one of a group of circularly dependent packages fails to install after one or more of the group have already been installed. TODO: Add sanity checks to make sure that it's really safe to ignore all the deps that can be ignored by this code. svn path=/main/trunk/; revision=12541
* When in --keep-going mode, don't suppress the list of failed packages displayZac Medico2009-01-191-1/+2
| | | | | | | at the end when there is only one failure, since the failure may have occurred much earlier and the related output may not be visible any longer. svn path=/main/trunk/; revision=12540
* Call depgraph._set_args() inside _load_favorites(), to eliminate duplicateZac Medico2009-01-141-21/+1
| | | | | | code. svn path=/main/trunk/; revision=12520
* Use a new 'usersync' feature to control dropping of privileges for --sync,Zac Medico2009-01-131-1/+2
| | | | | | | since it's fairly common for people to have inconsistent permissions between $PORTDIR and contained files/directories. svn path=/main/trunk/; revision=12496
* Simplify depgraph._select_pkg_from_graph() by using match_pkgs().Zac Medico2009-01-131-11/+4
| | | | svn path=/main/trunk/; revision=12494
* When selecting greedy package inside depgraph._greedy_slots(), make surev2.2_rc21Zac Medico2009-01-121-1/+2
| | | | | | the selected packages have the same cp as the highest selected version. svn path=/main/trunk/; revision=12490
* Mention the blocker_lookahead parameter in the depgraph._greedy_slots()Zac Medico2009-01-121-4/+4
| | | | | | docstring. svn path=/main/trunk/; revision=12488
* When checking for conflicts between packages inside depgraph._greedy_slots(),Zac Medico2009-01-121-4/+4
| | | | | | never double-check any of the pairs. svn path=/main/trunk/; revision=12486
* Invalidate some more caches inside depgraph._set_args().Zac Medico2009-01-121-0/+6
| | | | svn path=/main/trunk/; revision=12484
* Fix comment about the greedy slots code.Zac Medico2009-01-121-2/+2
| | | | svn path=/main/trunk/; revision=12429
* Bug #241808 - When loading options for --resume, discard the --color optionZac Medico2009-01-111-1/+1
| | | | | | so it doesn't override the current setting. svn path=/main/trunk/; revision=12428
* Make the greedy slot atom code from bug #150361 look ahead for conflictsZac Medico2009-01-111-40/+164
| | | | | | | | | | | | between the packages that will be pulled in. If a conflict is discovered, drop the greedy slot atom for the older slot. This solves a problem reported by kde4 users when running `emerge -u <atom>` for a package that has the kdeprefix flag disabled. In this case, the newer slot blocks the older slot. In order to allow the older slot to be automatically uninstalled, the atom for the older slot needs to be excluded from the graph. Thanks to Maciej Mrozowski for testing this patch. svn path=/main/trunk/; revision=12427