Zac Medico [Mon, 28 Jul 2008 07:08:01 +0000 (07:08 -0000)]
Add support for an new EAPI="2_pre0" value so that people who want to test
USE deps can set the EAPI to something other than 0 or 1. We can support as
many different experimental EAPI values as we need, and drop support for them
when the final EAPI 2 is defined.
svn path=/main/trunk/; revision=11233
Zac Medico [Mon, 28 Jul 2008 06:43:29 +0000 (06:43 -0000)]
Disable the multi-bracket USE deps syntax, so only the comma separated syntax
is now valid.
svn path=/main/trunk/; revision=11232
Zac Medico [Mon, 28 Jul 2008 05:52:08 +0000 (05:52 -0000)]
Implement new conditional USE dep syntax:
Conditional evaluation behavior:
parent state conditional result
x x? x
-x x?
x -x?
-x -x? -x
x x= x
-x x= -x
x x!= -x
-x x!= x
Conditional syntax examples:
compact form equivalent expanded form
foo[bar?] foo bar? ( foo[bar] )
foo[-bar?] foo !bar? ( foo[-bar] )
foo[bar=] foo bar? ( foo[bar] ) !bar? ( foo[-bar] )
foo[bar!=] foo bar? ( foo[-bar] ) !bar? ( foo[bar] )
svn path=/main/trunk/; revision=11231
Zac Medico [Mon, 28 Jul 2008 05:34:07 +0000 (05:34 -0000)]
Create a SlotDict constructor which can take an optional positional arg that
is passed to the update() method (similar to the dict constructor), and also
pass keyword arguments into the update() method if any are given. This makes
it possible to use the constructor similarly to the way that the
_emerge.SlotObject constructor is used.
svn path=/main/trunk/; revision=11230
Zac Medico [Mon, 28 Jul 2008 01:42:06 +0000 (01:42 -0000)]
* Add support in dep_getusedeps() and isvalidatom() for comma separated USE
deps that only have one set of square brackets.
* Add test cases for the new comma separated USE deps syntax.
svn path=/main/trunk/; revision=11229
Zac Medico [Mon, 28 Jul 2008 01:05:28 +0000 (01:05 -0000)]
Bug #233137 - Implement Atom.split().
svn path=/main/trunk/; revision=11228
Zac Medico [Sun, 27 Jul 2008 23:30:06 +0000 (23:30 -0000)]
Fix incorrect logging.exception() arguments. The exception instance is not
supposed to be passed into this function.
svn path=/main/trunk/; revision=11227
Zac Medico [Sun, 27 Jul 2008 23:09:23 +0000 (23:09 -0000)]
Fix the new glep56 code to handle missing metadata.xml. Thanks to jmbsvicetto
for reporting.
svn path=/main/trunk/; revision=11226
Zac Medico [Sun, 27 Jul 2008 14:23:34 +0000 (14:23 -0000)]
Fix EbuildFetcher to pass all config variables to the fetcher so things
like http_proxy are included.
svn path=/main/trunk/; revision=11223
Zac Medico [Sun, 27 Jul 2008 14:13:07 +0000 (14:13 -0000)]
Update path to make.conf.example. Thanks to Arfrever.
svn path=/main/trunk/; revision=11222
Zac Medico [Sun, 27 Jul 2008 14:10:00 +0000 (14:10 -0000)]
Use ${NORMAL} to properly restore color when necessary.
svn path=/main/trunk/; revision=11221
Zac Medico [Sun, 27 Jul 2008 14:07:28 +0000 (14:07 -0000)]
Make elog_base() just use \n as the delimiter in the file since it's safe
now that lines are always split.
svn path=/main/trunk/; revision=11220
Zac Medico [Sun, 27 Jul 2008 13:59:29 +0000 (13:59 -0000)]
Make all the elog functions split lines when displaying output, just like
elog_base() does when saving it.
svn path=/main/trunk/; revision=11219
Zac Medico [Sun, 27 Jul 2008 13:31:56 +0000 (13:31 -0000)]
Add support to elog_base() to split messages on newlines automatically.
Thanks to Arfrever for the suggestion.
svn path=/main/trunk/; revision=11218
Zac Medico [Sun, 27 Jul 2008 12:24:24 +0000 (12:24 -0000)]
Fix breakage from r11213 in INHERITED values returned from portdbapi.aux_get().
svn path=/main/trunk/; revision=11217
Zac Medico [Sun, 27 Jul 2008 12:02:36 +0000 (12:02 -0000)]
Fixes from Arfrever:
* Highlight the "Files built without respecting LDFLAGS" QA Notice with red.
* Remove scanelf-ignored-LDFLAGS.log when empty.
svn path=/main/trunk/; revision=11216
Zac Medico [Sun, 27 Jul 2008 11:31:50 +0000 (11:31 -0000)]
Serialize src_unpack() $DISTDIR access for live ebuilds since otherwise they
can interfere with eachother. This will have to rely on a hardcoded list of
eclasses until we create way to properly tag this information in the metadata.
svn path=/main/trunk/; revision=11213
Zac Medico [Sun, 27 Jul 2008 10:42:30 +0000 (10:42 -0000)]
* Define a frozenset of live eclasses for the LIVEVCS.stable check.
* Add "mercurial" to the list of known live eclasses.
svn path=/main/trunk/; revision=11210
Zac Medico [Sun, 27 Jul 2008 10:23:49 +0000 (10:23 -0000)]
Fix repoman not seeing subversion auto-ignored files (such as patch rejects and editor backup copies), thereby causing messed up Manifests. This fix should be merged in the trunk.
(branches/prefix r11208)
svn path=/main/trunk/; revision=11209
Zac Medico [Sun, 27 Jul 2008 06:02:05 +0000 (06:02 -0000)]
Temporarily `set -o noglob` when splitting QA_DT_HASH.
svn path=/main/trunk/; revision=11206
Zac Medico [Sun, 27 Jul 2008 05:08:32 +0000 (05:08 -0000)]
Bug #233077 - Add QA check which verifies that LDFLAGS are respected. For now
this only works when LDFLAGS contains --hash-style=gnu since in this case the
the elf files should not contain .hash sections and we can use scanelf to
check whether or not the those sections exist. This adds a QA_DT_HASH variable
that is analogous to existing QA control variables documented in the ebuild.5
man page. There is also a complementary QA_STRICT_DT_HASH variable that can
be set in make.conf in order to ignore QA_DT_HASH settings in ebuilds. Thanks
to Arfrever Frehtes Taifersar Arahesis for this patch which I've tweaked in
just a few minor ways.
svn path=/main/trunk/; revision=11205
Zac Medico [Sun, 27 Jul 2008 02:23:40 +0000 (02:23 -0000)]
Schedule ebuild pkg_setup phases on the merge queue,
in order to serialize unsandboxed access to the live
filesystem.
svn path=/main/trunk/; revision=11204
Zac Medico [Sun, 27 Jul 2008 02:16:04 +0000 (02:16 -0000)]
In PollScheduler._poll(), add a call to _schedule() in order to ensure that
event handlers are registered if possible. If not, raise StopIteration in
order to avoid endless blocking in a poll call with no file descriptors
registered. Add StopIteration exception handling for all
PollScheduler._poll._next_poll_event() calls.
svn path=/main/trunk/; revision=11203
Zac Medico [Sun, 27 Jul 2008 01:31:33 +0000 (01:31 -0000)]
Fix AsynchronousTask.removeStartListener() and removeExitListener() to return
early if there are no listeners.
svn path=/main/trunk/; revision=11202
Zac Medico [Sat, 26 Jul 2008 11:33:18 +0000 (11:33 -0000)]
Fix LinkageMap.findConsumers() to check whether the master link for a lib
providing a given soname actually points to that lib. If there is another
version of this lib with the same soname and the master link points to
that other version, this lib will be shadowed and won't have any consumers.
By eliminating false, positives this way, we avoid the following state
after upgrade from media-libs/mesa-7.0.3 to media-libs/mesa-7.1_rc3:
# scanelf -S /usr/lib64/libGLU.so*
TYPE SONAME FILE
ET_DYN libGLU.so.1 /usr/lib64/libGLU.so
ET_DYN libGLU.so.1 /usr/lib64/libGLU.so.1
ET_DYN libGLU.so.1 /usr/lib64/libGLU.so.1.3
ET_DYN libGLU.so.1 /usr/lib64/libGLU.so.1.3.070003
ET_DYN libGLU.so.1 /usr/lib64/libGLU.so.1.3.070100 <- shadowed lib
Thanks to Diego "Flameeyes" Pettenò for reporting this issue.
svn path=/main/trunk/; revision=11200
Zac Medico [Sat, 26 Jul 2008 10:31:59 +0000 (10:31 -0000)]
* Use pure bash ${PARAMETER%/*} instead of spawing`dirname`.
* Break out of loop as early as possible when searching for libs in ${D}.
svn path=/main/trunk/; revision=11199
Zac Medico [Sat, 26 Jul 2008 09:33:28 +0000 (09:33 -0000)]
Split out an apply_priorities() function to apply nice and ionice settings.
svn path=/main/trunk/; revision=11198
Zac Medico [Sat, 26 Jul 2008 07:56:06 +0000 (07:56 -0000)]
Bug #232924 - When the user specifies a non-existent set, display a list of
existing sets.
svn path=/main/trunk/; revision=11197
Zac Medico [Sat, 26 Jul 2008 07:22:06 +0000 (07:22 -0000)]
Bug #228085 - In the event of a file collision, the explanation about the
collision and how to solve it may not be visible via a scrollback buffer,
especially if the number of file collisions is large. Therefore, show a
summary at the end and refer the user to the elog messages.
svn path=/main/trunk/; revision=11196
Zac Medico [Sat, 26 Jul 2008 06:36:28 +0000 (06:36 -0000)]
Replace hardcoded i386 machine name in dyn_rpm() with the result of `uname -m`.
svn path=/main/trunk/; revision=11195
Zac Medico [Sat, 26 Jul 2008 06:17:54 +0000 (06:17 -0000)]
* For bug 227625, automatically create the /usr/src/rpm/SOURCES directory when
necessary.
* Add `cd "${T}"` at the beginning of dyn_rpm() since the spec file is written
to $PWD.
svn path=/main/trunk/; revision=11194
Zac Medico [Sat, 26 Jul 2008 04:20:04 +0000 (04:20 -0000)]
Reduce the default PORTAGE_IONICE_COMMAND priority to "idle" priority since
it's probably suitable for most people. This way, even when the IO load is
very high, the impact on system responsiveness should be practically
unnoticeable.
svn path=/main/trunk/; revision=11193
Zac Medico [Fri, 25 Jul 2008 22:59:52 +0000 (22:59 -0000)]
Add PORTAGE_IONICE_COMMAND setting for make.conf which is called to adjust
IO priority on portage and it's subprocesses.
svn path=/main/trunk/; revision=11192
Zac Medico [Fri, 25 Jul 2008 22:48:57 +0000 (22:48 -0000)]
Suppress "for /" and "to /" in status messages when ROOT=/. Thanks to
Thargor for the suggestion.
svn path=/main/trunk/; revision=11191
Zac Medico [Fri, 25 Jul 2008 21:36:03 +0000 (21:36 -0000)]
Fix PORTAGE_BIN_PATH typo in EbuildFetcher._start().
svn path=/main/trunk/; revision=11190
Zac Medico [Fri, 25 Jul 2008 21:04:37 +0000 (21:04 -0000)]
Detect an invalid cpv passed into portdbapi.findname2() and raise an
InvalidPackageName exception. This avoids silent or nonsense errors
later on.
svn path=/main/trunk/; revision=11188
Zac Medico [Fri, 25 Jul 2008 00:12:52 +0000 (00:12 -0000)]
Cancel prefetchers if they're the only reason the main poll loop is still
running.
svn path=/main/trunk/; revision=11185
Zac Medico [Thu, 24 Jul 2008 23:05:25 +0000 (23:05 -0000)]
When in background mode and there is a single failure, dump the whole build
log for convenience.
svn path=/main/trunk/; revision=11184
Zac Medico [Thu, 24 Jul 2008 22:16:20 +0000 (22:16 -0000)]
* Refer user to make.conf(5) if PORTAGE_IONICE_COMMAND fails.
* Document that PORTAGE_IONICE_COMMAND can be disabled by setting it
to an empty string.
svn path=/main/trunk/; revision=11183
Zac Medico [Thu, 24 Jul 2008 14:43:37 +0000 (14:43 -0000)]
Bug #206773 - Add a new PORTAGE_IONICE_COMMAND variable that emerge uses
to adjust ionice priority, similar to PORTAGE_NICENESS but used more like
FETCHCOMMAND since so that portage doesn't have to know anything about
ionice options. The command should include a \${PID} place-holder to be
substituted with an integer pid.
svn path=/main/trunk/; revision=11182
Zac Medico [Thu, 24 Jul 2008 11:40:04 +0000 (11:40 -0000)]
Bug #228117 - Insert a trailing newline in the getconfig() input file as
necessary to avoid a silent error in shlex that is triggered by a source
statement at the end of the file without a trailing newline after the source
statement. To solve this problem, derive a special file class that inserts
a newline just before eof when necessary.
svn path=/main/trunk/; revision=11181
Zac Medico [Wed, 23 Jul 2008 21:27:05 +0000 (21:27 -0000)]
Fix bug in get_repo_path() when called with multiple args.
svn path=/main/trunk/; revision=11179
Zac Medico [Wed, 23 Jul 2008 20:23:22 +0000 (20:23 -0000)]
Fix typo, found by pyflakes.
svn path=/main/trunk/; revision=11178
Zac Medico [Wed, 23 Jul 2008 20:04:59 +0000 (20:04 -0000)]
Avoid "0 files checked ..." messages reported by Pesa.
svn path=/main/trunk/; revision=11177
Zac Medico [Wed, 23 Jul 2008 19:48:59 +0000 (19:48 -0000)]
Fix --depclean/--prune regressions reported by selkin:
* Make --with-bdeps default to "y" for removal actions.
* Treat unsatisfied build time dependencies as "soft" for removal actions,
even when --with-bdeps=y.
svn path=/main/trunk/; revision=11176
Zac Medico [Wed, 23 Jul 2008 12:33:28 +0000 (12:33 -0000)]
Add sandbox write access to PORTAGE_PYM_PATH before importing portage in
order to avoid sandbox violations after python upgrade.
svn path=/main/trunk/; revision=11175
Zac Medico [Wed, 23 Jul 2008 07:23:08 +0000 (07:23 -0000)]
Add GENTOO_MIRRORS to the variables exported by EbuildFetcher.
svn path=/main/trunk/; revision=11173
Zac Medico [Wed, 23 Jul 2008 05:46:05 +0000 (05:46 -0000)]
Make --fetchonly disable background mode.
svn path=/main/trunk/; revision=11170
Zac Medico [Tue, 22 Jul 2008 15:02:42 +0000 (15:02 -0000)]
Handle UnsatisfiedResumeDep in Scheduler._calc_resume_list().
svn path=/main/trunk/; revision=11169
Zac Medico [Tue, 22 Jul 2008 13:29:14 +0000 (13:29 -0000)]
Update --depclean and --prune, removing warnings about libraries since those
are now automatically accounted for.
svn path=/main/trunk/; revision=11168
Zac Medico [Tue, 22 Jul 2008 12:24:53 +0000 (12:24 -0000)]
In dblink.unmerge(), redirect preserve-libs "!needed" messages to the log file
when in background mode.
svn path=/main/trunk/; revision=11167
Zac Medico [Tue, 22 Jul 2008 06:39:31 +0000 (06:39 -0000)]
Fix resume_depgraph() so that it doesn't raise an AssertionError due to
unsatisfied PDEPEND.
svn path=/main/trunk/; revision=11166
Zac Medico [Tue, 22 Jul 2008 04:09:12 +0000 (04:09 -0000)]
Show the number of failed packages in the status display.
svn path=/main/trunk/; revision=11165
Zac Medico [Tue, 22 Jul 2008 03:58:53 +0000 (03:58 -0000)]
Redirect build log eqawarn messages to the log file when in background mode.
svn path=/main/trunk/; revision=11164
Zac Medico [Tue, 22 Jul 2008 03:42:34 +0000 (03:42 -0000)]
Disable "Installing" status messages when in --pretend or --buildpkgonly
mode.
svn path=/main/trunk/; revision=11163
Zac Medico [Tue, 22 Jul 2008 03:25:08 +0000 (03:25 -0000)]
Make --pretend disable background mode and imply --jobs=1.
svn path=/main/trunk/; revision=11162
Zac Medico [Tue, 22 Jul 2008 02:02:54 +0000 (02:02 -0000)]
Redirect dblink._preserve_libs() messages to the log when in background mode.
svn path=/main/trunk/; revision=11161
Zac Medico [Tue, 22 Jul 2008 00:35:17 +0000 (00:35 -0000)]
Adjust status messages for --fetchonly mode.
svn path=/main/trunk/; revision=11160
Zac Medico [Tue, 22 Jul 2008 00:24:27 +0000 (00:24 -0000)]
Adjust --fetchonly failure messages to work better with background mode.
svn path=/main/trunk/; revision=11159
Zac Medico [Mon, 21 Jul 2008 23:15:37 +0000 (23:15 -0000)]
Fix --depclean/--prune to add lib providers and their dependencies to the
graph and create a new clean list when necessary. This completes the fix
for bug #230053.
svn path=/main/trunk/; revision=11158
Zac Medico [Mon, 21 Jul 2008 13:19:50 +0000 (13:19 -0000)]
Add initial lib awareness for --depclean and --prune. Currently it will simply
bail out if the clean list contains a package that will cause link breakage
if removed. TODO: Calculate a new cleanlist instead of bailing out, and
implement a package set for rebuilding consumers.
svn path=/main/trunk/; revision=11157
Zac Medico [Mon, 21 Jul 2008 10:29:14 +0000 (10:29 -0000)]
In dblink.findProviders(), clone the "path" variable before extending it
since obviously it shouldn't grow each time that findProviders() is called.
svn path=/main/trunk/; revision=11156
Zac Medico [Mon, 21 Jul 2008 06:08:38 +0000 (06:08 -0000)]
In dblink._preserve_libs(), strip leading $ROOT from contents paths so that
it works when $ROOT != /.
svn path=/main/trunk/; revision=11155
Zac Medico [Mon, 21 Jul 2008 02:39:05 +0000 (02:39 -0000)]
Fix breakage in the depclean/prune unsatisfied deps handling.
svn path=/main/trunk/; revision=11154
Zac Medico [Mon, 21 Jul 2008 02:29:16 +0000 (02:29 -0000)]
Fix typo.
svn path=/main/trunk/; revision=11153
Zac Medico [Mon, 21 Jul 2008 02:20:28 +0000 (02:20 -0000)]
For --depclean and --prune, eliminate duplicate graph creation code by re-using
the depgraph class to do it. The depgraph class was used in the past for this
purpose but back then it didn't handle USE flags correctly for installed
packages. Now it works fine.
svn path=/main/trunk/; revision=11152
Zac Medico [Mon, 21 Jul 2008 00:26:13 +0000 (00:26 -0000)]
Redirect the 'Recording <pkg> in "world" favorites file...' message through
_status_msg().
svn path=/main/trunk/; revision=11151
Zac Medico [Sun, 20 Jul 2008 22:30:04 +0000 (22:30 -0000)]
Fix broken references to the old elog_modules namespace.
svn path=/main/trunk/; revision=11150
Zac Medico [Sun, 20 Jul 2008 05:01:22 +0000 (05:01 -0000)]
Redirect some more unmerge() output through writemsg_level() so that it can
filtered out when in background mode.
svn path=/main/trunk/; revision=11147
Zac Medico [Sun, 20 Jul 2008 02:38:09 +0000 (02:38 -0000)]
Fix Scheduler emergelog() interaction to properly disable emergelog()
xterm titles whenever the status display is enabled.
svn path=/main/trunk/; revision=11146
Zac Medico [Sun, 20 Jul 2008 01:16:14 +0000 (01:16 -0000)]
* Clean up _schedule_tasks_imp() a bit.
* Make _task() access _background directly instead of as a parameter.
svn path=/main/trunk/; revision=11145
Zac Medico [Sun, 20 Jul 2008 01:00:26 +0000 (01:00 -0000)]
Make PollScheduler._poll() add poll events to the stack instead of returning
them. This makes it more useful as a hook, allowing Scheduler._poll() to
safely call _schedule().
svn path=/main/trunk/; revision=11144
Zac Medico [Sat, 19 Jul 2008 15:09:38 +0000 (15:09 -0000)]
Merge tasks currently run synchronously which makes it necessary to disable
auto_schedule on the merge queue in order to avoid excess recursion which
prevents tasks from being marked complete as soon as they should be.
svn path=/main/trunk/; revision=11143
Zac Medico [Sat, 19 Jul 2008 13:56:54 +0000 (13:56 -0000)]
Fix Scheduler._schedule_tasks_imp() so that it never indicates that there
are remaining tasks in cases when it's supposed to bail out due to a
package failure.
svn path=/main/trunk/; revision=11142
Zac Medico [Sat, 19 Jul 2008 13:22:56 +0000 (13:22 -0000)]
Calling _schedule() from Scheduler._poll() is unsafe since the _schedule()
call itself can consume poll events. Therefore, until a safe way exists,
don't do it.
svn path=/main/trunk/; revision=11141
Zac Medico [Sat, 19 Jul 2008 12:30:53 +0000 (12:30 -0000)]
Use the memoized _choose_pkg() result to return earlier from
_schedule_tasks() when possible.
svn path=/main/trunk/; revision=11140
Zac Medico [Sat, 19 Jul 2008 12:25:39 +0000 (12:25 -0000)]
When Scheduler._choose_pkg() is unable to find a package, memoize the result
until at least one of the existing jobs completes.
svn path=/main/trunk/; revision=11139
Zac Medico [Sat, 19 Jul 2008 11:46:23 +0000 (11:46 -0000)]
Bug #231464 - Replace erroneous "return" statement in elog_process() with
a continue statement. Thanks to TGL for this patch.
svn path=/main/trunk/; revision=11138
Zac Medico [Sat, 19 Jul 2008 10:55:50 +0000 (10:55 -0000)]
Instead of calling _background_mode(), use the cached result.
svn path=/main/trunk/; revision=11137
Zac Medico [Sat, 19 Jul 2008 10:28:09 +0000 (10:28 -0000)]
Fix JobStatusDisplay._init_term() to supply default codes in cases when
curses.tigetstr() returns None.
svn path=/main/trunk/; revision=11136
Zac Medico [Sat, 19 Jul 2008 10:07:13 +0000 (10:07 -0000)]
* Call self._schedule() from inside Scheduler._poll(). This 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.
svn path=/main/trunk/; revision=11135
Zac Medico [Sat, 19 Jul 2008 07:33:26 +0000 (07:33 -0000)]
Fix typos.
svn path=/main/trunk/; revision=11134
Zac Medico [Sat, 19 Jul 2008 07:24:43 +0000 (07:24 -0000)]
Add a Scheduler._background_mode() method to control background mode, and
trigger it if either --quiet is enabled or --jobs > 1.
svn path=/main/trunk/; revision=11133
Zac Medico [Sat, 19 Jul 2008 05:37:43 +0000 (05:37 -0000)]
Display "Verifying ebuild manifests" and "Starting parallel fetch" via
the status display instead of directly to stdout.
svn path=/main/trunk/; revision=11132
Zac Medico [Sat, 19 Jul 2008 04:30:30 +0000 (04:30 -0000)]
Add a hook in Scheduler._poll() that updates the display once every 2 seconds
if stdout is a tty, so that the load average numbers are always current.
svn path=/main/trunk/; revision=11131
Zac Medico [Sat, 19 Jul 2008 03:46:38 +0000 (03:46 -0000)]
Make all poll() calls pass through PollScheduler._poll().
svn path=/main/trunk/; revision=11130
Zac Medico [Sat, 19 Jul 2008 03:25:29 +0000 (03:25 -0000)]
When JobStatusDisplay.displayMessage() is called while the status is currently
displayed, call display() after showing the given message.
svn path=/main/trunk/; revision=11129
Zac Medico [Sat, 19 Jul 2008 03:18:21 +0000 (03:18 -0000)]
Add support to JobStatusDisplay() to update the current line 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.
svn path=/main/trunk/; revision=11128
Zac Medico [Sat, 19 Jul 2008 00:37:17 +0000 (00:37 -0000)]
Add a MergeListItem.statusMessage(msg) callback for 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.
svn path=/main/trunk/; revision=11127
Zac Medico [Fri, 18 Jul 2008 12:40:58 +0000 (12:40 -0000)]
Bug #199788 - Make repoman parse GLEP 56 USE flag descriptions from
metadata.xml (in addition to use.local.desc). Thanks to Doug Goldstein
<cardoe@g.o> for this patch.
svn path=/main/trunk/; revision=11126
Zac Medico [Fri, 18 Jul 2008 08:56:07 +0000 (08:56 -0000)]
Fix typo.
svn path=/main/trunk/; revision=11124
Zac Medico [Fri, 18 Jul 2008 07:47:12 +0000 (07:47 -0000)]
Suppress counter initialization warning messages in
vardbapi.get_counter_tick_core() in cases when the vdb is empty. This
avoids pointless error messages when merging packages into a new root,
like when building stage 1.
svn path=/main/trunk/; revision=11123
Zac Medico [Fri, 18 Jul 2008 03:45:44 +0000 (03:45 -0000)]
Add background output redirection and async ebuild phase support for
PackageUninstall (automatic uninstalls that solve blockers).
svn path=/main/trunk/; revision=11122
Zac Medico [Fri, 18 Jul 2008 01:42:38 +0000 (01:42 -0000)]
Change package status messages to give more accurate information about what
is happening at a given time:
* Change "Emerging" messages to "Building" for ebuilds and "Extracting" for
binary packages.
* Change "Merging" messages to "Installing" and "Uninstalling".
svn path=/main/trunk/; revision=11121
Zac Medico [Fri, 18 Jul 2008 00:52:45 +0000 (00:52 -0000)]
In dblink._dblink_display_merge(), when in background mode and no log is
available, suppress output when level < logging.WARNING. This hides
">>> Regenerating /etc/ld.so.cache..." messages that appear after postrm
when PORT_LOGDIR is unset (the log file if it exists is removed after
postrm so there's no place to log the message).
svn path=/main/trunk/; revision=11120
Zac Medico [Fri, 18 Jul 2008 00:34:42 +0000 (00:34 -0000)]
Use dblink._eerror() to eliminate duplicate code.
svn path=/main/trunk/; revision=11119
Zac Medico [Fri, 18 Jul 2008 00:13:17 +0000 (00:13 -0000)]
If an problem is detected in dblink._security_check(), log it via elog so
that it's properly displayed in the foreground even when in background mode.
svn path=/main/trunk/; revision=11118
Zac Medico [Thu, 17 Jul 2008 23:53:49 +0000 (23:53 -0000)]
Redirect dblink elog messages from stdout to the log file when in background
mode. This is implemented by adding a new "out" parameter to the
portage.elog.e* functions, which can be used to send output to an arbitary
file instead of stdout.
svn path=/main/trunk/; revision=11117
Zac Medico [Thu, 17 Jul 2008 22:41:04 +0000 (22:41 -0000)]
When dblink is looping over files for merge/unmerge, temporarily yield to the
scheduler each time a fixed number of files are processed (currently 20).
This gives the scheduler an opportunity to service pending poll events. This
is implemented with a new PollScheduler._schedule_yield() method which calls
poll() exactly once, without blocking, and any services any resulting poll
events.
svn path=/main/trunk/; revision=11116
Zac Medico [Thu, 17 Jul 2008 16:11:13 +0000 (16:11 -0000)]
Also, reset "merges" in JobStatusDisplay.reset().
svn path=/main/trunk/; revision=11115