Merged from trunk 11048:11057
authorFabian Groffen <grobian@gentoo.org>
Tue, 15 Jul 2008 19:21:45 +0000 (19:21 -0000)
committerFabian Groffen <grobian@gentoo.org>
Tue, 15 Jul 2008 19:21:45 +0000 (19:21 -0000)
commit5fe1be3277add7f31e354223bf26d07010263f76
treef39adf04e3c5cc5917de5bcd35b8a8821215be73
parentd472130511b0d3799ba520a169108c713a5f7f1e
   Merged from trunk 11048:11057

   | 11049   | Split out a generic SubProcess._unregister() method that's   |
   | zmedico | called from _wait() to make sure everything is cleaned up    |
   |         | before wait() returns. This might solve an intermittent      |
   |         | KeyError that is sometimes raised from the main poll() loop  |
   |         | when a handler is no longer registered for a poll() event    |
   |         | that has occurred.                                           |

   | 11050   | Split out a _main_loop_cleanup() method from                 |
   | zmedico | Scheduler._merge() and call it before restarting in          |
   |         | _restart_if_necessary() to kill any parallel-fetch tasks     |
   |         | that may still be running.                                   |

   | 11051   | Add a PollScheduler._next_poll_event() method to maintain a  |
   | zmedico | central event queue between _poll_loop() and                 |
   |         | _schedule_wait(). This solves an intermittent KeyError from  |
   |         | _poll_loop() which occured when an event handler called      |
   |         | _schedule_wait() which unregistered an event handler for an  |
   |         | event that _poll_loop() had already recieved but hadn't      |
   |         | processed yet.                                               |

   | 11052   | Use self.registered to return early from SubProcess.poll()   |
   | zmedico | when possible, and remove the related code from              |
   |         | SequentialTaskQueue.schedule() since this makes it obsolete. |

   | 11053   | Make AsynchronousTask "registered" attributes private since  |
   | zmedico | poll() and wait() do the job now. Also, hide                 |
   |         | SubProcess.files since there's no reason to expose it.       |

   | 11054   | * Fix --keep-going breakage that occured when                |
   | zmedico | Scheduler._choose_pkg() was introduced. * Handle multiple    |
   |         | failed builds when buildinding in parallel. * Fix            |
   |         | Scheduler._do_merge_exit() to remove the correct package     |
   |         | since it's not always at position 0 when using --jobs. in    |
   |         | parallel, so                                                 |

   | 11055   | When there is more than one failure, show a summary packages |
   | zmedico | that failed to build or install. This is especially useful   |
   |         | when using --jobs or --keep-going since there can be         |
   |         | multiple failures.                                           |

   | 11056   | When packages fail with --jobs > 1 and the "echo" elog       |
   | zmedico | module is not enabled, emulate elog's mod_echo module to     |
   |         | show the 'error' level messages, which should include the    |
   |         | important die message. This is implemented by adding a       |
   |         | private hook inside elog_process() which the scheduler uses  |
   |         | to collect error messages.                                   |

   | 11057   | Since lots of packages will have to be fixed before stable   |
   | zmedico | portage can abort with "this code is not 64bit clean",       |
   |         | convert the die call to an eerror message instructing the    |
   |         | user to file a bug at bugs.gentoo.org. This should allow us  |
   |         | to stabilize portage-2.2 without having to ensure that the   |
   |         | entire stable tree is 64 bit clean first.                    |

svn path=/main/branches/prefix/; revision=11058
bin/misc-functions.sh
pym/_emerge/__init__.py
pym/portage/elog/__init__.py