Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | In scheduler._schedule_main(), only consider a poll() event to be a state | Zac Medico | 2008-07-08 | 1 | -1/+1 |
| | | | | | | change if it results in a handler being unregistered. svn path=/main/trunk/; revision=10992 | ||||
* | Fix Scheduler._dependent_on_scheduled_merges() to properly distinguish | Zac Medico | 2008-07-08 | 1 | -1/+1 |
| | | | | | | "nomerge" nodes from "uninstall" nodes. svn path=/main/trunk/; revision=10991 | ||||
* | Remove redundant call to _schedule_main(). | Zac Medico | 2008-07-08 | 1 | -2/+0 |
| | | | | svn path=/main/trunk/; revision=10990 | ||||
* | * Call self._wait() when unregistering output handlers, in order to avoid | Zac Medico | 2008-07-08 | 1 | -8/+24 |
| | | | | | | | | | | | | triggering a tight loop. Also fix Subprocess._wait() to only schedule when self.registered is True. * Add an assertion inside Scheduler._schedule_main() to try and detect tight loops like the one above. * Fix typo in Scheduler._merge_exit(). svn path=/main/trunk/; revision=10989 | ||||
* | Derive PackageMerge from AsynchronousTask instead of CompositeTask since | Zac Medico | 2008-07-08 | 1 | -1/+1 |
| | | | | | | CompositeTask is designed for self._current_task to be set. svn path=/main/trunk/; revision=10988 | ||||
* | Raise an AssertionError in CompositeTask._wait() if it's detected that | Zac Medico | 2008-07-08 | 1 | -1/+7 |
| | | | | | | | self._current_task hasn't been properly updated after calling wait on it. svn path=/main/trunk/; revision=10987 | ||||
* | Fix infinite loop in CompositeTask._wait(). | Zac Medico | 2008-07-08 | 1 | -1/+4 |
| | | | | svn path=/main/trunk/; revision=10986 | ||||
* | Fix ValueError triggered when Scheduler._choose_pkg() doesn't find a package | Zac Medico | 2008-07-08 | 1 | -1/+2 |
| | | | | | | and returns None. svn path=/main/trunk/; revision=10985 | ||||
* | Use a normal list instead of a deque for Scheduler._pkg_queue since deque | Zac Medico | 2008-07-08 | 1 | -3/+3 |
| | | | | | | doesn't have a remove() method until python-2.5. svn path=/main/trunk/; revision=10984 | ||||
* | Implement parallel build support by adding new --jobs and --load-average | Zac Medico | 2008-07-08 | 1 | -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 Medico | 2008-07-08 | 1 | -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 the | Zac Medico | 2008-07-08 | 1 | -15/+21 |
| | | | | | | EbuildPhase class. svn path=/main/trunk/; revision=10981 | ||||
* | Also add "background" attributes to the EbuildBuild and Binpkg classes. | Zac Medico | 2008-07-08 | 1 | -3/+5 |
| | | | | svn path=/main/trunk/; revision=10980 | ||||
* | Add a MergeListItem.background attribute for putting a task in the background | Zac Medico | 2008-07-08 | 1 | -4/+6 |
| | | | | | | when max_jobs > 1. svn path=/main/trunk/; revision=10979 | ||||
* | Add a missing check in Scheduler._main_loop() to ensure that max_jobs | Zac Medico | 2008-07-08 | 1 | -0/+5 |
| | | | | | | isn't exceeded. svn path=/main/trunk/; revision=10978 | ||||
* | Add a Scheduler._digraph attribute for use in parallel build scheduling. | Zac Medico | 2008-07-07 | 1 | -0/+10 |
| | | | | svn path=/main/trunk/; revision=10976 | ||||
* | Rename SubProcess.reg_id to _reg_id since it no longer needs to be exposed. | Zac Medico | 2008-07-07 | 1 | -4/+5 |
| | | | | svn path=/main/trunk/; revision=10975 | ||||
* | * Add new CompositeTask._default_final_exit() method and use it as the new | Zac Medico | 2008-07-07 | 1 | -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 Medico | 2008-07-07 | 1 | -3/+3 |
| | | | | svn path=/main/trunk/; revision=10971 | ||||
* | Make SubProcess._wait() call scheduler.schedule(self.reg_id) so it's | Zac Medico | 2008-07-07 | 1 | -6/+5 |
| | | | | | | encapsulated and callers don't have to know about it. svn path=/main/trunk/; revision=10970 | ||||
* | * Implement CompositeTask._poll(). | Zac Medico | 2008-07-07 | 1 | -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 Medico | 2008-07-07 | 1 | -2/+2 |
| | | | | svn path=/main/trunk/; revision=10965 | ||||
* | Fix EbuildPhase._set_returncode() so that it correctly updates the returncode | Zac Medico | 2008-07-07 | 1 | -3/+2 |
| | | | | | | attrbute instead of just a local variable. svn path=/main/trunk/; revision=10964 | ||||
* | Fix typo in Binpkg.start() which prevents --genbinpkg prefetcher sync | Zac Medico | 2008-07-07 | 1 | -1/+1 |
| | | | | | | from working properly in some cases. svn path=/main/trunk/; revision=10963 | ||||
* | * Implement MergeListItem._poll() and _wait(). | Zac Medico | 2008-07-06 | 1 | -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 package | Zac Medico | 2008-07-06 | 1 | -1/+15 |
| | | | | | | merges. For now it executes synchronously inside the start() method. svn path=/main/trunk/; revision=10961 | ||||
* | Add async support to MergeListItem. | Zac Medico | 2008-07-06 | 1 | -61/+72 |
| | | | | svn path=/main/trunk/; revision=10960 | ||||
* | Add async support to the Binpkg class. | Zac Medico | 2008-07-06 | 1 | -153/+189 |
| | | | | svn path=/main/trunk/; revision=10959 | ||||
* | Make BinpkgFetcher send output directly to stdout when appropriate, | Zac Medico | 2008-07-06 | 1 | -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 Medico | 2008-07-06 | 1 | -1/+1 |
| | | | | svn path=/main/trunk/; revision=10957 | ||||
* | Make AsynchronousTask subclasses override _wait() and _poll() so that calls | Zac Medico | 2008-07-06 | 1 | -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 Medico | 2008-07-06 | 1 | -0/+1 |
| | | | | svn path=/main/trunk/; revision=10955 | ||||
* | * Fix broke return code handling from previous commit, in | Zac Medico | 2008-07-06 | 1 | -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 Medico | 2008-07-06 | 1 | -89/+132 |
| | | | | svn path=/main/trunk/; revision=10953 | ||||
* | Split out a CompositeTask._start_task() for subclasses to use as a generic | Zac Medico | 2008-07-06 | 1 | -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 the | Zac Medico | 2008-07-06 | 1 | -1/+16 |
| | | | | | | previous commit. svn path=/main/trunk/; revision=10951 | ||||
* | Split out a reusable CompositeTask._default_exit() method that subclasses | Zac Medico | 2008-07-06 | 1 | -19/+20 |
| | | | | | | can use as a generic task exit callback. svn path=/main/trunk/; revision=10950 | ||||
* | Add a CompositeTask._assert_current() method that asynchronous callbacks | Zac Medico | 2008-07-06 | 1 | -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 the | Zac Medico | 2008-07-06 | 1 | -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 Medico | 2008-07-05 | 1 | -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 Medico | 2008-07-05 | 1 | -1/+3 |
| | | | | svn path=/main/trunk/; revision=10946 | ||||
* | Correct TaskSequence docstring to refer to the addExitListener() method. | Zac Medico | 2008-07-05 | 1 | -1/+1 |
| | | | | svn path=/main/trunk/; revision=10945 | ||||
* | Split out common code from CompositeTask and EbuildExecuter into a new | Zac Medico | 2008-07-05 | 1 | -42/+29 |
| | | | | | | CompositeTask class and rename the old CompositeTask class to TaskSequence. svn path=/main/trunk/; revision=10943 | ||||
* | Make EbuildExecuter inherit from AsynchronousTask. | Zac Medico | 2008-07-05 | 1 | -25/+54 |
| | | | | svn path=/main/trunk/; revision=10942 | ||||
* | Fix CompositeTask.cancel() so that it's safe to call when there is no | Zac Medico | 2008-07-05 | 1 | -1/+2 |
| | | | | | | running task. svn path=/main/trunk/; revision=10941 | ||||
* | Add a new CompositeTask class which can be used to combine separate | Zac Medico | 2008-07-05 | 1 | -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 Medico | 2008-07-05 | 1 | -26/+21 |
| | | | | svn path=/main/trunk/; revision=10939 | ||||
* | Use the EbuildPhase class to execute the "clean" phase asynchronously. | Zac Medico | 2008-07-05 | 2 | -19/+40 |
| | | | | svn path=/main/trunk/; revision=10938 | ||||
* | Remove unused variable. | Zac Medico | 2008-07-05 | 1 | -2/+0 |
| | | | | svn path=/main/trunk/; revision=10937 | ||||
* | Rename BinpkgFetcherAsync class to BinpkgFetcher and use it to replace the | Zac Medico | 2008-07-05 | 1 | -70/+16 |
| | | | | | | older class with the same name svn path=/main/trunk/; revision=10936 |