summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Thanks to Ali Polatel <hawking@g.o> for this patch to fix broken indentation.Zac Medico2008-07-051-2/+2
| | | | svn path=/main/trunk/; revision=10944
* 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
* Bug #230525 - Work around ObjectProxy breakage in `portageq vdb_path`.Zac Medico2008-07-041-2/+4
| | | | svn path=/main/trunk/; revision=10929
* 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
* Rename PollSelectFallback to PollSelectAdapter.Zac Medico2008-07-041-2/+2
| | | | svn path=/main/trunk/; revision=10925
* * Split out a MergeListItem class from Scheduler._execute_task().Zac Medico2008-07-041-80/+135
| | | | | | | | | * Remove Scheduler._execute_task() and migrate some of it's code to Scheduler._merge(). * Fix _world_atom() so that it doesn't add an atom in --oneshot mode or similar. svn path=/main/trunk/; revision=10924
* Fix broken references to portage.exception.Zac Medico2008-07-041-3/+2
| | | | svn path=/main/trunk/; revision=10923
* Create a Scheduler._task_queues attribute which has "build" and "prefetch"Zac Medico2008-07-041-4/+6
| | | | | | | queues. The build queue is currently unused and the prefetch queue is used for parallel fetch. svn path=/main/trunk/; revision=10922
* Change the way the way things that have to call the scheduler interactZac Medico2008-07-041-56/+60
| | | | | | | | | | | | | | | | | | | | with it: * Return a unique integer id from scheduler.register(), to be passed back into other scheduler methods. * Control handler unregistration with the handler's return value, like some other frameworks do for similar callbacks. * Add a SpawnProcess.reg_id attribute to store the id returned from scheduler.register() * Pass the SpawnProcess.reg_id value into scheduler.schedule() calls, so the scheduler knows to return when the callback referred to by the given id unregisters itself by returning False. svn path=/main/trunk/; revision=10921
* When logging is disabled, make the EbuildPhase create a dummy pipe to provideZac Medico2008-07-041-6/+45
| | | | | | | a file descriptor that the scheduler can use to monitor the process from inside a poll() loop. svn path=/main/trunk/; revision=10920
* Import portage before trying to access portage.exception for exceptionZac Medico2008-07-041-6/+7
| | | | | | handling. svn path=/main/trunk/; revision=10919
* * Split out a SequentialTaskQueue class to encapsulate the parallel-fetchZac Medico2008-07-041-35/+50
| | | | | | | | prefetcher queue. * Fix broken return value status handling in Scheduler.merge(). svn path=/main/trunk/; revision=10918
* Bug #230469 - Implement non-blocking distlocks for --fetchonly. This addsZac Medico2008-07-033-11/+32
| | | | | | | | | | a "flags" keyword parameter to the portage.locks.lock() function. Default is flags=0. If flags contains os.O_NONBLOCK then lock() will raise portage.exception.TryAgain instead of blocking. This new flags parameter is used to implement non-blocking distlocks in fetch() when fetchonly mode is enabled. svn path=/main/trunk/; revision=10917
* Fix typo.Zac Medico2008-07-031-1/+1
| | | | svn path=/main/trunk/; revision=10916
* Bug #230579 - Handle EOFError raised from cPickle.load() inZac Medico2008-07-031-2/+2
| | | | | | PreservedLibsRegistry.load(). svn path=/main/trunk/; revision=10915
* Split out a _create_prefetcher() method from _add_prefetchers().Zac Medico2008-07-031-14/+26
| | | | svn path=/main/trunk/; revision=10913
* Remove old unused vars inside _execute_task() and fix code not to use theZac Medico2008-07-031-38/+17
| | | | | | old vars. svn path=/main/trunk/; revision=10912
* Split logging and world atom code out of Scheduler._execute() task, andZac Medico2008-07-031-65/+86
| | | | | | trigger it inside EbuildPhase.execute(). svn path=/main/trunk/; revision=10911
* Clean up Scheduler.merge() and split out a _save_resume_list() method.Zac Medico2008-07-031-76/+35
| | | | svn path=/main/trunk/; revision=10910
* Add a portage._disable_legacy_globals() function. This deletes theZac Medico2008-07-033-9/+19
| | | | | | | | | | ObjectProxy instances that are used for lazy initialization of legacy global variables. The purpose of deleting them is to prevent new code from referencing these deprecated variables. This allows the removal of the PORTAGE_LEGACY_GLOBALS variable which used to serve the same purpose. svn path=/main/trunk/; revision=10909
* Split out a _restart_if_necessary() method from Scheduler._merge().Zac Medico2008-07-031-48/+74
| | | | svn path=/main/trunk/; revision=10908
* Remove unused BinpkgMerge class.Zac Medico2008-07-031-27/+0
| | | | svn path=/main/trunk/; revision=10907
* Remove the Scheduler._post_merge() method, and create a newZac Medico2008-07-031-30/+29
| | | | | | _show_failed_fetches() method. svn path=/main/trunk/; revision=10906
* Split out a new _add_prefetchers() method from Scheduler._merge().Zac Medico2008-07-031-26/+34
| | | | svn path=/main/trunk/; revision=10905
* Split out a new _check_manifests() method from Scheduler._merge() sinceZac Medico2008-07-031-41/+55
| | | | | | | this method is not useful for parallel scheduling and any useful code needs to be relocated. svn path=/main/trunk/; revision=10903
* Implement asynchronous binary package extraction, so that the schedulerZac Medico2008-07-032-6/+130
| | | | | | can run while a package is extracting in the background. svn path=/main/trunk/; revision=10902
* Make BinpkgFetcherAsync inherit from SpawnProcess.Zac Medico2008-07-031-74/+11
| | | | svn path=/main/trunk/; revision=10901
* Add missing BinpkgFetcherAsync.registered attribute.Zac Medico2008-07-031-1/+1
| | | | svn path=/main/trunk/; revision=10900
* Move post ebuild phase code (originally from spawnebuild) fromZac Medico2008-07-031-6/+8
| | | | | | EbuildExecuter.execute() to EbuildPhase._set_returncode(). svn path=/main/trunk/; revision=10899
* Split out a SpawnProcess base class out of EbuildFetcherAsync.Zac Medico2008-07-031-38/+74
| | | | svn path=/main/trunk/; revision=10898
* Use stdout.write() instead of "print", for py3k compat.Zac Medico2008-07-031-14/+24
| | | | svn path=/main/trunk/; revision=10897
* Fix broken except statement. Thanks to hawking.Zac Medico2008-07-021-1/+1
| | | | svn path=/main/trunk/; revision=10896
* Fix EbuildBuildDir so that it works properly with binary packages.Zac Medico2008-07-021-14/+21
| | | | svn path=/main/trunk/; revision=10895
* Handle missing select.poll on interix by using select() to emulate a pollZac Medico2008-07-021-1/+61
| | | | | | object. svn path=/main/trunk/; revision=10894
* Remove $PORTAGE_BUILDDIR locking from portage.pkgmerge() and useZac Medico2008-07-022-29/+13
| | | | | | an instance of EbuildBuildDir instead. svn path=/main/trunk/; revision=10892