Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | * Fix _choose_pkg() to pop the first node if there are no other jobs running. | Zac Medico | 2008-07-08 | 1 | -2/+6 |
| | | | | | | | | | * Allow _choose_pkg() to choose an uninstall node when it reaches the front of the queue. TODO: fix order for uninstall operations. * Fix _dependent_on_scheduled_merges() to handle direct circular deps correctly. svn path=/main/trunk/; revision=10994 | ||||
* | Make the "tight loop" assertion trigger whenever there is no state change | Zac Medico | 2008-07-08 | 1 | -1/+1 |
| | | | | | | detected for a given _schedule_main() call. svn path=/main/trunk/; revision=10993 | ||||
* | 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 | ||||
* | Use plain sequential search for the SRC_URI.mirror check since the regex | Zac Medico | 2008-07-08 | 1 | -5/+8 |
| | | | | | | approach is actually much slower. svn path=/main/trunk/; revision=10977 | ||||
* | 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 | ||||
* | Add a new "SRC_URI.mirror" check which checks to if a uri listed in | Zac Medico | 2008-07-07 | 2 | -0/+22 |
| | | | | | | | profiles/thirdpartymirrors is found in SRC_URI. Thanks to Betelgeuse for the initial patch which has now been optimized with a regex. svn path=/main/trunk/; revision=10973 | ||||
* | 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 | ||||
* | remove TODO list as it's not maintained anyway | Marius Mauch | 2008-07-07 | 1 | -10/+0 |
| | | | | svn path=/main/trunk/; revision=10969 | ||||
* | * 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 | ||||
* | Thanks to Ali Polatel <hawking@g.o> for this patch to fix broken indentation. | Zac Medico | 2008-07-05 | 1 | -2/+2 |
| | | | | svn path=/main/trunk/; revision=10944 | ||||
* | 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 |