summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
Commit message (Collapse)AuthorAgeFilesLines
* Reimplement parallel-fetch by spawning the `ebuild fetch` command for eachZac Medico2008-06-301-91/+231
| | | | | | | | ebuild. The benefit of using this approach is that it can be integrated together with parallel build scheduling that's planned. Parallel-fetch support for binhost is not implemented yet, though it worked previously. svn path=/main/trunk/; revision=10855
* Rename the MergeTask class to Scheduler.Zac Medico2008-06-301-3/+3
| | | | svn path=/main/trunk/; revision=10853
* Centralize select.poll() event handling in MergeTask._schedule(). This willZac Medico2008-06-291-39/+47
| | | | | | | allow the parent process to handle output of multiple child processes running in parllel. svn path=/main/trunk/; revision=10851
* * Add "fd_pipes" and "returnpid" parameters to doebuild() and passZac Medico2008-06-291-5/+167
| | | | | | | | | | | | | | these into spawn calls, enabling ebuild processes to execute asynchronously. * Add a EbuildPhase class that's derived from the pty logging code inside portage.spawn(). * Integrate post-phase code from spawnebuild() into EbuildBuild.execute() so that it still gets called even though doebuild() calls execute asynchronously. svn path=/main/trunk/; revision=10849
* In EbuildBuild.execute(), call doebuild() separately for each phase sinceZac Medico2008-06-291-4/+9
| | | | | | | it will be easier to add asynchronous support to doebuild() if it's called this way. svn path=/main/trunk/; revision=10848
* Handle invalid atoms inside depgraph._add_pkg_deps(), to avoid anZac Medico2008-06-291-0/+7
| | | | | | | unhandled InvalidAtom exception from dep_expand() when matching against the vardb. svn path=/main/trunk/; revision=10844
* Move clean code, from the previous commit, from doebuild() toZac Medico2008-06-291-2/+7
| | | | | | EbuildBuild.execute() where it fits better. svn path=/main/trunk/; revision=10843
* Instead of calling the ebuild "clean" phase in MergeTask.merge(),Zac Medico2008-06-291-5/+2
| | | | | | | move it inside doebuild() where it can be tied into the actionmap_deps framework. svn path=/main/trunk/; revision=10842
* Split out an EbuildBuildDir class to handle locking of the build dir.Zac Medico2008-06-291-34/+76
| | | | svn path=/main/trunk/; revision=10841
* Make EbuildBinpkg delegate everything up to src_install() toZac Medico2008-06-281-2/+17
| | | | | | the EbuildBuild class. svn path=/main/trunk/; revision=10839
* * Remove unused EbuildBuild.pretend attribute.Zac Medico2008-06-281-7/+7
| | | | | | * Add TODO not about asynchronous execution. svn path=/main/trunk/; revision=10838
* Use the EbuildMerge class instead of portage.merge().Zac Medico2008-06-281-8/+5
| | | | svn path=/main/trunk/; revision=10834
* Split out a PackageUninstall class.Zac Medico2008-06-281-6/+24
| | | | svn path=/main/trunk/; revision=10833
* * Split out an EbuildBinpkg class.Zac Medico2008-06-281-16/+44
| | | | | | * Remove unused EbuildBuild.ldpath_mtimes attribute. svn path=/main/trunk/; revision=10832
* Split out an EbuildBuild class.Zac Medico2008-06-281-4/+28
| | | | svn path=/main/trunk/; revision=10831
* Fix typo.Zac Medico2008-06-281-1/+2
| | | | svn path=/main/trunk/; revision=10830
* Split out an EbuildMerge class.Zac Medico2008-06-281-8/+30
| | | | svn path=/main/trunk/; revision=10829
* * Split out a BinpkgMerge class.Zac Medico2008-06-281-7/+26
| | | | | | * Fix typos in _get_hash_key() methods. svn path=/main/trunk/; revision=10828
* Split out a BinpkgFetcher class.Zac Medico2008-06-281-40/+75
| | | | svn path=/main/trunk/; revision=10827
* Split out an EbuildFetcher class.Zac Medico2008-06-281-14/+27
| | | | svn path=/main/trunk/; revision=10826
* Split the MergeTask._merge() method into 3 smaller methods. The newZac Medico2008-06-281-23/+63
| | | | | | methods are _execute_task() and _post_merge(). svn path=/main/trunk/; revision=10825
* Bug #226307 - Copy come code from depgraph._iter_atoms_for_pkg() thatZac Medico2008-06-281-3/+47
| | | | | | | was used to solve bug #218854, and use it inside unmerge() when matching sets to packages. svn path=/main/trunk/; revision=10824
* Fix depgraph.break_refs() to work with DependencyArg instances (or anythingZac Medico2008-06-271-13/+11
| | | | | | else that may have a "root_config" attribute). svn path=/main/trunk/; revision=10823
* Remove the MergeTask._blocker_db attribute since it can just be aZac Medico2008-06-271-5/+4
| | | | | | local variable. svn path=/main/trunk/; revision=10822
* Break references from Package instances in the digraph before passingZac Medico2008-06-271-0/+2
| | | | | | it into the MergeTask constructor. svn path=/main/trunk/; revision=10821
* Pass the digraph into the MergeTask constructor. It's currently unusedZac Medico2008-06-271-5/+5
| | | | | | but it will be useful for parallel scheduling. svn path=/main/trunk/; revision=10820
* Add documentation for the new --keep-going option.Zac Medico2008-06-271-7/+24
| | | | svn path=/main/trunk/; revision=10818
* Generate and log eerror messages for any packages that need to be droppedZac Medico2008-06-271-13/+31
| | | | | | due to unsatisfied dependencies when --keep-going is enabled. svn path=/main/trunk/; revision=10817
* Call clear_caches() after the depgraph is out of scope, in MergeTask.merge().Zac Medico2008-06-271-2/+1
| | | | svn path=/main/trunk/; revision=10812
* Bug #12768 - Add a --keep-going option. This uses the same resume_depgraph()Zac Medico2008-06-271-14/+96
| | | | | | | | function that's called for emerge --resume operations. Given the remaining tasks, depedencies are recalculated and any tasks with unsatisfied dependencies are automatically dropped. svn path=/main/trunk/; revision=10811
* Split the --skipfirst code into a resume_depgraph() function that willZac Medico2008-06-271-61/+83
| | | | | | be useful for implementing a --keep-going option (bug #12768). svn path=/main/trunk/; revision=10809
* Add a generic portage.cache.mappings.slot_dict_class() function whichZac Medico2008-06-251-88/+13
| | | | | | | | | | generates mapping classes that behave similar to a dict but store values as object attributes that are allocated via __slots__. Instances of these objects have a smaller memory footprint than a normal dict object. These classes are used to reduce the memory footprint of the dbapi.aux_get() caches and the Package.metadata attribute. svn path=/main/trunk/; revision=10790
* Swap out the whole Package.root_config attribute inside depgraph.break_refs().Zac Medico2008-06-251-11/+8
| | | | svn path=/main/trunk/; revision=10789
* Fix Atom -> str breakage in depgraph.saveNomergeFavorites(). Thanks toZac Medico2008-06-251-1/+1
| | | | | | grobian and darsiide. svn path=/main/trunk/; revision=10785
* Fix repoman breakage wrt _PackageMetadataWrapper._keys values.Zac Medico2008-06-251-1/+5
| | | | svn path=/main/trunk/; revision=10783
* After the depgraph caches the vardb state in a FakeVartree, to makeZac Medico2008-06-251-0/+8
| | | | | | some room on the heap, clear the vardbapi caches. svn path=/main/trunk/; revision=10782
* Implement __contains__, pop() and clear() for Package.metadata attributes.Zac Medico2008-06-251-0/+23
| | | | svn path=/main/trunk/; revision=10780
* Make clear_caches() call portage.dircache.clear().Zac Medico2008-06-251-0/+1
| | | | svn path=/main/trunk/; revision=10778
* Remove the BlockerDB._blocker_cache attribute and just create newZac Medico2008-06-251-4/+3
| | | | | | instances on demand instead of taking space on the heap. svn path=/main/trunk/; revision=10777
* For the Package.metadata attribute, only implement the dict interfaceZac Medico2008-06-251-55/+107
| | | | | | | | instead of actually inheriting from dict. This slightly decreases the memory footprint by defining __slots__ and storing items as object attributes. svn path=/main/trunk/; revision=10776
* Bug #229069 - Before deleting the depgraph, break references pointingZac Medico2008-06-251-0/+34
| | | | | | | to the depgraph from Package instances in the merge list. This helps reduce the heap size a lot. svn path=/main/trunk/; revision=10775
* Fix spelling of depgraph._complete_threshold.Zac Medico2008-06-241-3/+3
| | | | svn path=/main/trunk/; revision=10774
* If dep calculation time exceeds 20 seconds then automaticallyZac Medico2008-06-241-5/+16
| | | | | | | | enable "complete" mode since any performance difference is not as likely to be noticed by the user after this much time has passed. svn path=/main/trunk/; revision=10773
* Bug #229233 - Fix Atom -> str breakage in the depgraph.display_problems()Zac Medico2008-06-241-1/+1
| | | | | | package.provided warning message. svn path=/main/trunk/; revision=10771
* Clear dbapi caches just after deleting the depgraph in action_build().Zac Medico2008-06-241-0/+13
| | | | | | This trims down the heap size by a few megs, for bug #229069. svn path=/main/trunk/; revision=10769
* Fix some remaining corner cases that cause bug #220341 to reappearZac Medico2008-06-241-14/+15
| | | | | | intermittently. Thanks to pva for reporting. svn path=/main/trunk/; revision=10768
* Bug #228939 - Fix display list interaction with --tree mode to preventZac Medico2008-06-221-1/+4
| | | | | | display of a duplicate list. svn path=/main/trunk/; revision=10761
* Fix Atom -> str breakage in depgraph._show_slot_collision_notice(). ThanksZac Medico2008-06-211-1/+1
| | | | | | to Arfrever for reporting. svn path=/main/trunk/; revision=10758
* Fix Atom -> str breakage in depgraph.display_problems().Zac Medico2008-06-211-1/+1
| | | | svn path=/main/trunk/; revision=10755
* Bug #228595 - Use os.path.realpath() before comparing paths to thoseZac Medico2008-06-201-0/+1
| | | | | | | returned from portdbapi.getRepositoryPath() since those paths are also cannonical. svn path=/main/trunk/; revision=10746