summaryrefslogtreecommitdiffstats
path: root/pym
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement parallel build support by adding new --jobs and --load-averageZac Medico2008-07-081-18/+238
| | | | | | | | options that are analogous to the corresponding `make` options. Input and output handling still need work to make it look better and act more friendly for things like interactive ebuilds that require input. svn path=/main/trunk/; revision=10983
* * Add background support to the SpawProcess class.Zac Medico2008-07-081-5/+10
| | | | | | * Make Binpkg pass the current background setting into subtasks. svn path=/main/trunk/; revision=10982
* Add AsynchronousTask.background attribute and add support for it to theZac Medico2008-07-081-15/+21
| | | | | | EbuildPhase class. svn path=/main/trunk/; revision=10981
* Also add "background" attributes to the EbuildBuild and Binpkg classes.Zac Medico2008-07-081-3/+5
| | | | svn path=/main/trunk/; revision=10980
* Add a MergeListItem.background attribute for putting a task in the backgroundZac Medico2008-07-081-4/+6
| | | | | | when max_jobs > 1. svn path=/main/trunk/; revision=10979
* Add a missing check in Scheduler._main_loop() to ensure that max_jobsZac Medico2008-07-081-0/+5
| | | | | | isn't exceeded. svn path=/main/trunk/; revision=10978
* Add a Scheduler._digraph attribute for use in parallel build scheduling.Zac Medico2008-07-071-0/+10
| | | | svn path=/main/trunk/; revision=10976
* Rename SubProcess.reg_id to _reg_id since it no longer needs to be exposed.Zac Medico2008-07-071-4/+5
| | | | svn path=/main/trunk/; revision=10975
* * Add new CompositeTask._default_final_exit() method and use it as the newZac Medico2008-07-071-7/+12
| | | | | | | | generic task exit callback. * Remove erroneous self.wait() calls inside MergeListItem.start(). svn path=/main/trunk/; revision=10974
* Move the "registered" attribute to the SubProcess class too.Zac Medico2008-07-071-3/+3
| | | | svn path=/main/trunk/; revision=10971
* Make SubProcess._wait() call scheduler.schedule(self.reg_id) so it'sZac Medico2008-07-071-6/+5
| | | | | | encapsulated and callers don't have to know about it. svn path=/main/trunk/; revision=10970
* * Implement CompositeTask._poll().Zac Medico2008-07-071-40/+147
| | | | | | | | | * Make AsynchronousTask classes call self.wait() to notify exit listeners. * Rewrite Scheduler._main_loop() to bring it closer to allowing parallel build scheduling. svn path=/main/trunk/; revision=10966
* Fix broken code in AsynchronousTask.poll().Zac Medico2008-07-071-2/+2
| | | | svn path=/main/trunk/; revision=10965
* Fix EbuildPhase._set_returncode() so that it correctly updates the returncodeZac Medico2008-07-071-3/+2
| | | | | | attrbute instead of just a local variable. svn path=/main/trunk/; revision=10964
* Fix typo in Binpkg.start() which prevents --genbinpkg prefetcher syncZac Medico2008-07-071-1/+1
| | | | | | from working properly in some cases. svn path=/main/trunk/; revision=10963
* * Implement MergeListItem._poll() and _wait().Zac Medico2008-07-061-0/+9
| | | | | | * Fix BinpkgVerifier.start() to call wait() since it's not asynchronous. svn path=/main/trunk/; revision=10962
* Add a PackageMerge class to serve as an asynchronous interface to packageZac Medico2008-07-061-1/+15
| | | | | | merges. For now it executes synchronously inside the start() method. svn path=/main/trunk/; revision=10961
* Add async support to MergeListItem.Zac Medico2008-07-061-61/+72
| | | | svn path=/main/trunk/; revision=10960
* Add async support to the Binpkg class.Zac Medico2008-07-061-153/+189
| | | | svn path=/main/trunk/; revision=10959
* Make BinpkgFetcher send output directly to stdout when appropriate,Zac Medico2008-07-061-29/+66
| | | | | | so that wget's progress bar works normally. svn path=/main/trunk/; revision=10958
* Fix parent class constructor call in the BinpkgFetcher constructor.Zac Medico2008-07-061-1/+1
| | | | svn path=/main/trunk/; revision=10957
* Make AsynchronousTask subclasses override _wait() and _poll() so that callsZac Medico2008-07-061-10/+21
| | | | | | | to public methods can be wrapped for implementing hooks such as exit listener notification. svn path=/main/trunk/; revision=10956
* Fix --getbinpkg to inject downloaded packages into the local bintree.Zac Medico2008-07-061-0/+1
| | | | svn path=/main/trunk/; revision=10955
* * Fix broke return code handling from previous commit, inZac Medico2008-07-061-2/+6
| | | | | | | | | MergeListItem.execute(). * Fix TaskSequence._task_exit_handler() so it won't call final_exit() if _default_exit() has already set self._current_task to None. svn path=/main/trunk/; revision=10954
* Add async support to EbuildBuild, and an synchronous install() method.Zac Medico2008-07-061-89/+132
| | | | svn path=/main/trunk/; revision=10953
* Split out a CompositeTask._start_task() for subclasses to use as a genericZac Medico2008-07-061-10/+17
| | | | | | way to start a task. svn path=/main/trunk/; revision=10952
* Add CompositeTask._final_exit() method and use it to fix breakage from theZac Medico2008-07-061-1/+16
| | | | | | previous commit. svn path=/main/trunk/; revision=10951
* Split out a reusable CompositeTask._default_exit() method that subclassesZac Medico2008-07-061-19/+20
| | | | | | can use as a generic task exit callback. svn path=/main/trunk/; revision=10950
* Add a CompositeTask._assert_current() method that asynchronous callbacksZac Medico2008-07-061-2/+13
| | | | | | can use detect possible bugs. svn path=/main/trunk/; revision=10949
* Fix typo in xterm titles total package count which causes it to show theZac Medico2008-07-061-1/+1
| | | | | | current package instead. Thanks to Arfrever for this patch. svn path=/main/trunk/; revision=10948
* * Fix AsynchronousTask.poll() to call _wait_hook() when necessary.Zac Medico2008-07-051-7/+4
| | | | | | * Use the default poll() and cancel() implementations for BinpkgVerifier. svn path=/main/trunk/; revision=10947
* Call _wait_hook() from poll() if the wait call occurs there.Zac Medico2008-07-051-1/+3
| | | | svn path=/main/trunk/; revision=10946
* Correct TaskSequence docstring to refer to the addExitListener() method.Zac Medico2008-07-051-1/+1
| | | | svn path=/main/trunk/; revision=10945
* Split out common code from CompositeTask and EbuildExecuter into a newZac Medico2008-07-051-42/+29
| | | | | | CompositeTask class and rename the old CompositeTask class to TaskSequence. svn path=/main/trunk/; revision=10943
* Make EbuildExecuter inherit from AsynchronousTask.Zac Medico2008-07-051-25/+54
| | | | svn path=/main/trunk/; revision=10942
* Fix CompositeTask.cancel() so that it's safe to call when there is noZac Medico2008-07-051-1/+2
| | | | | | running task. svn path=/main/trunk/; revision=10941
* Add a new CompositeTask class which can be used to combine separateZac Medico2008-07-051-11/+90
| | | | | | | | | | | AsynchronousTask instances into a single instance. The CompositeTask instance used task exit listeners as a means to (asynchronously) trigger progression from one subtask to the next. This technique is used to group together all the ebuild phases executed by EbuildExecuter, and should be useful for grouping many more sets of tasks into similar composite tasks. svn path=/main/trunk/; revision=10940
* Add async support to EbuildBinpkg by making it inherit from EbuildPhase.Zac Medico2008-07-051-26/+21
| | | | svn path=/main/trunk/; revision=10939
* Use the EbuildPhase class to execute the "clean" phase asynchronously.Zac Medico2008-07-052-19/+40
| | | | svn path=/main/trunk/; revision=10938
* Remove unused variable.Zac Medico2008-07-051-2/+0
| | | | svn path=/main/trunk/; revision=10937
* Rename BinpkgFetcherAsync class to BinpkgFetcher and use it to replace theZac Medico2008-07-051-70/+16
| | | | | | older class with the same name svn path=/main/trunk/; revision=10936
* * Implement a new binarytree.digestCheck() method and use it to checkZac Medico2008-07-053-36/+153
| | | | | | | | | | | | | digests for binary packages. * Split out a AsynchronousTask base class from SubProcess. * Derive a new BinpkgVerifier class from AsynchronousTask. Even though this is not really asynchronous yet, it can fake the interface by doing everything in the start() method. svn path=/main/trunk/; revision=10935
* Make Binpkg inherit from EbuildBuildDir since it's going to holdZac Medico2008-07-041-3/+3
| | | | | | the build dir lock while it runs asynchronously. svn path=/main/trunk/; revision=10934
* Make EbuildBuild inherit from EbuildBuildDir since it's going to holdZac Medico2008-07-041-5/+4
| | | | | | the build dir lock while it runs asynchronously. svn path=/main/trunk/; revision=10933
* Convert EbuildFetcher to an asynchronous interface:Zac Medico2008-07-041-8/+20
| | | | | | | * Rename EbuildFetcher to EbuildFetchPretend. * Rename EbuildFetcherAsync to EbuildFetcher. svn path=/main/trunk/; revision=10932
* TODO: For parallel scheduling, everything in MergeListItem needsZac Medico2008-07-041-0/+5
| | | | | | asynchronous execution support (start, poll, and wait methods). svn path=/main/trunk/; revision=10931
* Add a PollConstants class to serve as a layer of indirection for accessingZac Medico2008-07-041-6/+21
| | | | | | | select.POLL* attributes which do not exist on interix. Thanks to grobian for reporting. svn path=/main/trunk/; revision=10930
* In --keep-going mode, display the new merge list when appropriate.Zac Medico2008-07-041-1/+26
| | | | svn path=/main/trunk/; revision=10928
* Split a _main_loop() method out of Scheduler._merge().Zac Medico2008-07-041-24/+54
| | | | svn path=/main/trunk/; revision=10927
* Split out a Scheduler._execute_pkg() method from _merge().Zac Medico2008-07-041-19/+25
| | | | svn path=/main/trunk/; revision=10926