summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
Commit message (Collapse)AuthorAgeFilesLines
* For python-3.0 compatibility, open files in binary mode insideZac Medico2009-02-211-3/+3
| | | | | | SpawnProcess._start(). svn path=/main/trunk/; revision=12666
* Fix StringIO imports so that 2to3 can handle them. Also, replace shlex +Zac Medico2009-02-201-16/+8
| | | | | | StringIO usage with shlex.split() where appropriate. svn path=/main/trunk/; revision=12662
* When displaying the list of failed packages, tell the number that failed.Zac Medico2009-02-191-2/+7
| | | | | | Thanks to Jeremy Olexa <darkside@g.o> for the suggestion. svn path=/main/trunk/; revision=12655
* Optimize depgraph._dep_expand() to avoid calling pordbapi.cp_all(),Zac Medico2009-02-191-15/+6
| | | | | | | | since it can be more efficient to call cp_list() on each category. Thanks to Marat Radchenko <slonopotamusorama@gmail.com> for the suggestion. svn path=/main/trunk/; revision=12653
* Decode terminal codes from binary when necessary, for python-3.0 compatibilityZac Medico2009-02-191-0/+3
| | | | | | since sys.stdout is a text stream. svn path=/main/trunk/; revision=12649
* Handle ValueError when unpickling, since this can be triggered by anZac Medico2009-02-191-1/+1
| | | | | | unsupported pickle protocol. svn path=/main/trunk/; revision=12648
* Tweak code to avoid python-3.0 errors like this one:Zac Medico2009-02-191-3/+9
| | | | | | SyntaxError: can not delete variable 'e' referenced in nested scope svn path=/main/trunk/; revision=12644
* For compatibility with python-3.0, open files in text mode where appropriate.Zac Medico2009-02-191-1/+1
| | | | svn path=/main/trunk/; revision=12642
* For compatibility with python-3.0, always open streams for pickles in binaryZac Medico2009-02-191-11/+3
| | | | | | mode. svn path=/main/trunk/; revision=12641
* Don't bother to calculate PORTAGE_COUNTER_HASH when in --pretend mode.Zac Medico2009-02-191-3/+4
| | | | svn path=/main/trunk/; revision=12637
* Inside post_emerge(), skip the vardbapi counter check when in --pretendZac Medico2009-02-191-2/+2
| | | | | | | mode (significant performance improvement). Thanks to Marat Radchenko (slonopotamus) for reporting. svn path=/main/trunk/; revision=12636
* 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