Merged from trunk 11125:11139
| 11126 | Bug #199788 - Make repoman parse GLEP 56 USE flag |
| zmedico | descriptions from metadata.xml (in addition to |
| | use.local.desc). Thanks to Doug Goldstein <cardoe@g.o> for |
| | this patch. |
| 11127 | Add a MergeListItem.statusMessage(msg) callback for |
| zmedico | displaying messages like "Building this" or "Installing |
| | that". This delegates the resposibility of generating \r and |
| | \n control characters, to guarantee that lines are created |
| | or erased when necessary and appropriate. TODO: Make |
| | JobStatusDisplay display the output. |
| 11128 | Add support to JobStatusDisplay() to update the current line |
| zmedico | on the terminal, which in the future can be used to erase |
| | the line and update it with new information such as the |
| | latest load average measurement. This uses curses to obtain |
| | the simple control codes that are needed, and has fallback |
| | codes in case the curses module is unavailable or raises an |
| | error. When stdout is not a tty then the line erasing |
| | behavior is automatically disabled and display updates are |
| | simply show on a new line. |
| 11129 | When JobStatusDisplay.displayMessage() is called while the |
| zmedico | status is currently displayed, call display() after showing |
| | the given message. |
| 11130 | Make all poll() calls pass through PollScheduler._poll(). |
| zmedico | |
| 11131 | Add a hook in Scheduler._poll() that updates the display |
| zmedico | once every 2 seconds if stdout is a tty, so that the load |
| | average numbers are always current. |
| 11132 | Display "Verifying ebuild manifests" and "Starting parallel |
| zmedico | fetch" via the status display instead of directly to stdout. |
| 11133 | Add a Scheduler._background_mode() method to control |
| zmedico | background mode, and trigger it if either --quiet is enabled |
| | or --jobs > 1. |
| 11134 | Fix typos. |
| zmedico | |
| 11135 | * Call self._schedule() from inside Scheduler._poll(). This |
| zmedico | ensures that new jobs can scheduled as soon a the load |
| | average is low enough, and one of the running jobs doesn't |
| | have to complete for _schedule() to get called. * Cache the |
| | result of _background_mode() so it doesn't have to be called |
| | inside _schedule(), since this method is called a lot more |
| | often now. * Move background related state adjustments into |
| | _background_mode(). * Call _status_display.display() |
| | unconditionally inside _schedule_tasks(), since we want to |
| | update the display to show current load average even if no |
| | new jobs are added. |
| 11136 | Fix JobStatusDisplay._init_term() to supply default codes in |
| zmedico | cases when curses.tigetstr() returns None. |
| 11137 | Instead of calling _background_mode(), use the cached |
| zmedico | result. |
| 11138 | Bug #231464 - Replace erroneous "return" statement in |
| zmedico | elog_process() with a continue statement. Thanks to TGL for |
| | this patch. |
| 11139 | When Scheduler._choose_pkg() is unable to find a package, |
| zmedico | memoize the result until at least one of the existing jobs |
| | completes. |
svn path=/main/branches/prefix/; revision=11148