summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* If necessary, use /proc/loadavg to emulate os.getloadavg().Zac Medico2009-01-111-8/+28
| | | | svn path=/main/trunk/; revision=12422
* When displaying parents of unsolved blockers, prefer parents that are notZac Medico2009-01-101-2/+2
| | | | | | directly involved in a conflict. svn path=/main/trunk/; revision=12421
* When displaying parents of unsolved blockers, reduce noise by pruning packagesZac Medico2009-01-101-0/+15
| | | | | | that are only pulled in by other conflict packages. svn path=/main/trunk/; revision=12420
* Inside action_sync(), check for the git binary when necessary and bail outZac Medico2009-01-101-0/+7
| | | | | | | with a helpful message if it doesn't exist. Thanks to Caleb Cushing <xenoterracide@gmail.com> for the initial patch. svn path=/main/trunk/; revision=12417
* When there are unresolved blockers, display the conflicting packages alongZac Medico2009-01-101-1/+81
| | | | | | | | | with the packages that pulled them in (similar to the slot conflict display). This is helpful for troubleshooting cases in which blockers don't solve automatically and the reasons are not apparent from the normal merge list display. svn path=/main/trunk/; revision=12408
* Revert r12405 since it will be more convenient to use a separate graph toZac Medico2009-01-101-8/+14
| | | | | | store blocked package edges. svn path=/main/trunk/; revision=12407
* Remove unused myblocker_parents variable inside depgraph._serialize_tasks().Zac Medico2009-01-101-1/+0
| | | | svn path=/main/trunk/; revision=12406
* Add Blocker -> Blocked Package edges to depgraph._unsolvable_blockers sinceZac Medico2009-01-101-14/+8
| | | | | | these edges will be useful for implementing an enhanced blocker display. svn path=/main/trunk/; revision=12405