portage.git
12 years agoSubProcess: use non-blocking waitpid
Zac Medico [Thu, 16 Feb 2012 05:13:38 +0000 (21:13 -0800)]
SubProcess: use non-blocking waitpid

This ensures that the EventLoop will not stop due to a waitpid call
blocking forever.

12 years agoEventLoop.iteration: sleep if no IO handlers
Zac Medico [Thu, 16 Feb 2012 04:58:10 +0000 (20:58 -0800)]
EventLoop.iteration: sleep if no IO handlers

Sleep so that we don't waste cpu time by looping too quickly. This
makes EventLoop useful for code that needs to wait for timeout
callbacks regardless of whether or not any IO handlers are currently
registered.

12 years agoEventLoop.timeout_add: fix inverted min interval
Zac Medico [Thu, 16 Feb 2012 04:41:16 +0000 (20:41 -0800)]
EventLoop.timeout_add: fix inverted min interval

12 years agoComment about _setup_pipes / PyPy GC interaction.
Zac Medico [Thu, 16 Feb 2012 00:33:10 +0000 (16:33 -0800)]
Comment about _setup_pipes / PyPy GC interaction.

12 years agoSpawnProcess: use os.open for /dev/null input
Zac Medico [Thu, 16 Feb 2012 00:25:31 +0000 (16:25 -0800)]
SpawnProcess: use os.open for /dev/null input

12 years agoMergeProcess: inherit stdin for use with pdb
Zac Medico [Wed, 15 Feb 2012 22:28:41 +0000 (14:28 -0800)]
MergeProcess: inherit stdin for use with pdb

12 years agotreewalk: handle EAGAIN from listdir for PyPy 1.8
Zac Medico [Wed, 15 Feb 2012 22:17:38 +0000 (14:17 -0800)]
treewalk: handle EAGAIN from listdir for PyPy 1.8

12 years agoget_open_fds: handle EAGAIN for PyPy 1.8
Zac Medico [Wed, 15 Feb 2012 09:32:40 +0000 (01:32 -0800)]
get_open_fds: handle EAGAIN for PyPy 1.8

12 years agoScheduler: PyPy WeakValueDictionary.pop KeyError
Zac Medico [Wed, 15 Feb 2012 03:01:16 +0000 (19:01 -0800)]
Scheduler: PyPy WeakValueDictionary.pop KeyError

KeyError observed from WeakValueDictionary.pop() with PyPy 1.8,
despite None given as default. Note that PyPy 1.8 has the same
WeakValueDictionary code as CPython 2.7, so it may be possible for
CPython to raise KeyError here as well.

12 years agoSpawnProcess: for stdout use os.write, not fdopen
Zac Medico [Wed, 15 Feb 2012 01:17:04 +0000 (17:17 -0800)]
SpawnProcess: for stdout use os.write, not fdopen

12 years agorepoman: fix ebuild.badheader for bug #403705
Zac Medico [Wed, 15 Feb 2012 00:04:34 +0000 (16:04 -0800)]
repoman: fix ebuild.badheader for bug #403705

12 years agoSubProcess._wait: add debug code for bug #403697
Zac Medico [Tue, 14 Feb 2012 23:51:22 +0000 (15:51 -0800)]
SubProcess._wait: add debug code for bug #403697

12 years agoAssert that fork returns int for bug 403697.
Zac Medico [Tue, 14 Feb 2012 23:39:57 +0000 (15:39 -0800)]
Assert that fork returns int for bug 403697.

These cases should have been included with commit
6a94a074aa0475173a51f3f726377d4c407e986b.

12 years agoAsynchronousTask: skip cancelled check in _start
Zac Medico [Tue, 14 Feb 2012 23:25:21 +0000 (15:25 -0800)]
AsynchronousTask: skip cancelled check in _start

These checks should be irrelevant, since the cancel() method is never
called on anything that hasn't been started already.

12 years agoEventLoop: allow IO event handler re-entrance
Zac Medico [Tue, 14 Feb 2012 16:27:01 +0000 (08:27 -0800)]
EventLoop: allow IO event handler re-entrance

IO event handlers may be re-entrant, in case something like
AbstractPollTask._wait_loop(), needs to be called inside a handler for
some reason.

12 years agoAfter python fork, don't close fds for PyPy 1.8.
Zac Medico [Tue, 14 Feb 2012 12:29:02 +0000 (04:29 -0800)]
After python fork, don't close fds for PyPy 1.8.

If we close all open file descriptors after a fork, with PyPy 1.8 it
triggers "[Errno 9] Bad file descriptor" later in the subprocess.
Apparently it is holding references to file descriptors and closing
them after they've already been closed and re-opened for other
purposes. As a workaround, we don't close the file descriptors, so
that they won't be re-used and therefore we won't be vulnerable to this
kind of interference.

The obvious caveat of not closing the fds is that the subprocess can
hold locks that belonged to the parent process, even after the parent
process has released the locks. Hopefully this won't be a major problem
though, since the subprocess has to exit at release the lock
eventually, when the EbuildFetcher or _MergeProcess task is complete.

12 years agoEventLoop._do_poll: tweak EINTR handling
Zac Medico [Tue, 14 Feb 2012 03:06:29 +0000 (19:06 -0800)]
EventLoop._do_poll: tweak EINTR handling

Silently handle EINTR, which is normal when we have received a signal
such as SIGINT. Also, raise StopIteration in order to break out of our
current iteration and respond appropriately to the signal as soon as
possible.

12 years agoAsynchronousTask: don't wait for exit status
Zac Medico [Tue, 14 Feb 2012 02:35:03 +0000 (18:35 -0800)]
AsynchronousTask: don't wait for exit status

Synchronous waiting for status is not supported, since it would be
vulnerable to hitting the recursion limit when a large number of tasks
need to be terminated simultaneously, like in bug #402335.

12 years agoEventLoop: make _poll/_run_timeouts re-entrant
Zac Medico [Tue, 14 Feb 2012 01:22:56 +0000 (17:22 -0800)]
EventLoop: make _poll/_run_timeouts re-entrant

This fixes infinite loops triggered by Ctrl-C, where timeout calls
would exhaust the poll event queue because _poll was not re-entrant.
Now, re-entrance is only prohibited for individual callback functions,
in order to protect against infinite recursion.

12 years agoruntests.sh: test PyPy 1.8, and support prefix
Zac Medico [Tue, 14 Feb 2012 00:41:38 +0000 (16:41 -0800)]
runtests.sh: test PyPy 1.8, and support prefix

12 years agoHandle missing os.setgroups for PyPy.
Zac Medico [Mon, 13 Feb 2012 23:38:41 +0000 (15:38 -0800)]
Handle missing os.setgroups for PyPy.

See https://bugs.pypy.org/issue833 for details.

12 years agochecksum.py: remove PyPy 1.7 workarounds
Zac Medico [Mon, 13 Feb 2012 21:57:31 +0000 (13:57 -0800)]
checksum.py: remove PyPy 1.7 workarounds

The corresponding hashlib issues are fixed in PyPy 1.8:

https://bugs.pypy.org/issue957

12 years agoPollScheduler: use idle_add to check termination
Zac Medico [Mon, 13 Feb 2012 06:43:46 +0000 (22:43 -0800)]
PollScheduler: use idle_add to check termination

This fixes a regression in termination signal handling since commit
8c1fcf5a9ba9fa4d406a4d0cc284fe73a84f5a63, which cause termination
signals to be ignored until a running job had exited. This regression
is not really noticeable for Ctrl-C handling, since in that case the
SIGINT propagets to subprocesses, causing them to exit and trigger a
_schedule() call whichtriggers a termination check.

12 years agorepoman: check for env-update, bug #402339
Zac Medico [Sun, 12 Feb 2012 23:32:12 +0000 (15:32 -0800)]
repoman: check for env-update, bug #402339

12 years agoScheduler: simplify _sched_iface construction v2.2.0_alpha86
Zac Medico [Sun, 12 Feb 2012 06:16:57 +0000 (22:16 -0800)]
Scheduler: simplify _sched_iface construction

12 years agoEbuildIpcDaemon: handle POLLHUP, bug #401919
Zac Medico [Sun, 12 Feb 2012 05:36:18 +0000 (21:36 -0800)]
EbuildIpcDaemon: handle POLLHUP, bug #401919

12 years agoAbstractPollTask: merge _wait from subclass
Zac Medico [Sun, 12 Feb 2012 04:08:59 +0000 (20:08 -0800)]
AbstractPollTask: merge _wait from subclass

12 years agoxpak.unpackinfo: validate paths, bug #403149
Zac Medico [Sun, 12 Feb 2012 03:39:10 +0000 (19:39 -0800)]
xpak.unpackinfo: validate paths, bug #403149

12 years agoQueueScheduler: tweak run loop logic
Zac Medico [Sun, 12 Feb 2012 00:05:14 +0000 (16:05 -0800)]
QueueScheduler: tweak run loop logic

12 years agoEventLoop.iteration: handle _poll StopIteration
Zac Medico [Sat, 11 Feb 2012 23:56:07 +0000 (15:56 -0800)]
EventLoop.iteration: handle _poll StopIteration

12 years agoMetadataRegen: use porttrees
Zac Medico [Sat, 11 Feb 2012 23:01:55 +0000 (15:01 -0800)]
MetadataRegen: use porttrees

12 years ago_emerge.MetadataRegen.MetadataRegen._iter_metadata_processes():
Arfrever Frehtes Taifersar Arahesis [Sat, 11 Feb 2012 22:14:43 +0000 (23:14 +0100)]
_emerge.MetadataRegen.MetadataRegen._iter_metadata_processes():
Regenerate metadata for given cpv in each repository.

12 years agoEventLoop: remove obsolete timeout_add comment
Zac Medico [Sat, 11 Feb 2012 21:41:18 +0000 (13:41 -0800)]
EventLoop: remove obsolete timeout_add comment

12 years agoEventLoop.iteration: run timeouts if no fds
Zac Medico [Sat, 11 Feb 2012 21:11:10 +0000 (13:11 -0800)]
EventLoop.iteration: run timeouts if no fds

12 years agoPollScheduler: return None from _schedule_tasks
Zac Medico [Sat, 11 Feb 2012 20:05:17 +0000 (12:05 -0800)]
PollScheduler: return None from _schedule_tasks

The _keep_scheduling() template method is used instead.

12 years agoQueueScheduler: timeout compat for GlibEventLoop
Zac Medico [Sat, 11 Feb 2012 19:48:05 +0000 (11:48 -0800)]
QueueScheduler: timeout compat for GlibEventLoop

Raising StopIteration doesn't work with GlibEventLoop, since it catches
all exceptions and logs them. So, just use a boolean expression to
terminate the while loop. This depends on commit
dcb9fab8463996542d06d29bc383f5933bf0d677 so that IpcDaemonTestCase
timeouts work correctly with both EventLoop and GlibEventLoop.

12 years agoEventLoop: shorten iteration poll if timeouts
Zac Medico [Sat, 11 Feb 2012 19:34:36 +0000 (11:34 -0800)]
EventLoop: shorten iteration poll if timeouts

This fixes EventLoop.iteration() so that it doesn't poll too long when
there are timeouts registered, since it's not nice to spend a long time
polling for an IO event that might never arrive even though a timeout
may have changed some state that would terminate a timeout loop like
in QueueScheduler.run() or AbstractPollTask._wait_loop(). This makes
EventLoop.iteration() behave more like GlibEventLoop.iteration().

12 years agoFix FEATURES=no{doc,info,man} for bug #403181
Zac Medico [Sat, 11 Feb 2012 18:46:00 +0000 (10:46 -0800)]
Fix FEATURES=no{doc,info,man} for bug #403181

This has been broken since commit
93b654199a32fc3df1299b030317720b9294b0c3.

12 years agorepoman: no ChangeLog for Manifest-only commit
Zac Medico [Sat, 11 Feb 2012 05:42:57 +0000 (21:42 -0800)]
repoman: no ChangeLog for Manifest-only commit

Use --echangelog=force to force ChangeLog generation in this case.
See bug #398009.

12 years agodisplay_autounmask: highlight config changes
Zac Medico [Sat, 11 Feb 2012 03:18:57 +0000 (19:18 -0800)]
display_autounmask: highlight config changes

As suggested here:

http://archives.gentoo.org/gentoo-dev/msg_06a47ad55977f4d16bfe18769c6c38b8.xml

12 years agoGlibEventLoop: use gi.repository.GLib
Zac Medico [Sat, 11 Feb 2012 02:55:19 +0000 (18:55 -0800)]
GlibEventLoop: use gi.repository.GLib

12 years agoPollScheduler: add generic _main_loop()
Zac Medico [Sat, 11 Feb 2012 02:10:07 +0000 (18:10 -0800)]
PollScheduler: add generic _main_loop()

12 years agorepoman: support PORTAGE_CONFIGROOT, bug 402577
Zac Medico [Fri, 10 Feb 2012 23:19:06 +0000 (15:19 -0800)]
repoman: support PORTAGE_CONFIGROOT, bug 402577

12 years agorepoman: remove redundant config constructor
Zac Medico [Fri, 10 Feb 2012 23:13:49 +0000 (15:13 -0800)]
repoman: remove redundant config constructor

12 years agoScheduler: cleanup timeout after _main_loop
Zac Medico [Fri, 10 Feb 2012 21:58:17 +0000 (13:58 -0800)]
Scheduler: cleanup timeout after _main_loop

The way we don't leave an leak a reference to the Scheduler instance
in the global EventLoop instance.

12 years agoEbuildMerge: add exit_hook to unlock build dir
Zac Medico [Fri, 10 Feb 2012 19:47:38 +0000 (11:47 -0800)]
EbuildMerge: add exit_hook to unlock build dir

This is needed since commit 7a6c34cc6bd6eb20a97e05347f87a0157f4ae58a in
order to ensure that the build dir is unlocked before exit listeners
are called. It fixes failures in catalyst stage 1 builds where two
instances of the same package, built sequentially for separate roots,
interfere with eachother's build dir lock.

12 years agoUse IO_* constants where appropriate.
Zac Medico [Fri, 10 Feb 2012 01:27:13 +0000 (17:27 -0800)]
Use IO_* constants where appropriate.

12 years agoEventLoop: name poll constants like glib's
Zac Medico [Fri, 10 Feb 2012 00:41:14 +0000 (16:41 -0800)]
EventLoop: name poll constants like glib's

It's conceivable the constants could be implementation dependent, so
use glib's generic IO_* names rather than the POLL* names which are
associated specifically with python's select.poll object.

12 years agoEventLoop: inherit PollConstants
Zac Medico [Fri, 10 Feb 2012 00:20:31 +0000 (16:20 -0800)]
EventLoop: inherit PollConstants

12 years agoAdd global_event_loop() and GlibEventLoop.
Zac Medico [Thu, 9 Feb 2012 20:04:42 +0000 (12:04 -0800)]
Add global_event_loop() and GlibEventLoop.

This causes all PollScheduler instances within a given process to share
a singleton EventLoop instance, and also makes it possible to swap in
glib's main loop for all portage event loops in the main process.

12 years agoAsynchronousTask: exit listeners reverse order
Zac Medico [Thu, 9 Feb 2012 09:12:40 +0000 (01:12 -0800)]
AsynchronousTask: exit listeners reverse order

This should fix a Scheduler hang which is triggered when that merge
queue, a SequentialTaskQueue, doesn't decrement its merge count until
after other exit listeners have already run.

12 years agoQueueScheduler: fix for IpcDaemonTestCase
Zac Medico [Thu, 9 Feb 2012 08:21:24 +0000 (00:21 -0800)]
QueueScheduler: fix for IpcDaemonTestCase

Use a StopIteration exception to jump out of EventLoop.iterate()
before the poll loop.

12 years agoEventLoop: fix inverted may_block logic
Zac Medico [Thu, 9 Feb 2012 07:25:09 +0000 (23:25 -0800)]
EventLoop: fix inverted may_block logic

This caused emerge to consume 100% cpu.

12 years agoMove EventLoop to a separate file.
Zac Medico [Thu, 9 Feb 2012 06:45:14 +0000 (22:45 -0800)]
Move EventLoop to a separate file.

12 years agoUse AbstractPollTask._wait_loop() more.
Zac Medico [Thu, 9 Feb 2012 06:23:32 +0000 (22:23 -0800)]
Use AbstractPollTask._wait_loop() more.

12 years agoMergeProcess: handle POLLHUP from elog pipe
Zac Medico [Thu, 9 Feb 2012 05:17:18 +0000 (21:17 -0800)]
MergeProcess: handle POLLHUP from elog pipe

12 years agoPollScheduler: remove _poll_loop
Zac Medico [Thu, 9 Feb 2012 04:04:09 +0000 (20:04 -0800)]
PollScheduler: remove _poll_loop

We can use iteration() instead, and _poll_loop's exit behavior doesn't
seem practical to emulate with glib.MainLoop.

12 years agotest_poll: use TaskScheduler
Zac Medico [Thu, 9 Feb 2012 03:51:24 +0000 (19:51 -0800)]
test_poll: use TaskScheduler

12 years agoPollScheduler: remove EventLoop._schedule hook
Zac Medico [Thu, 9 Feb 2012 02:10:38 +0000 (18:10 -0800)]
PollScheduler: remove EventLoop._schedule hook

PollScheduler and subclasses be should already be calling
self._schedule() when necessary.

12 years agoScheduler: tweak _add_prefetchers
Zac Medico [Thu, 9 Feb 2012 01:58:28 +0000 (17:58 -0800)]
Scheduler: tweak _add_prefetchers

Since commit 4620d6aba1c5c10344e311585516ee43819b703c, the first
prefetcher is started as soon as it's added to the task queue.

12 years agoSequentialTaskQueue: use finally for _scheduling
Zac Medico [Thu, 9 Feb 2012 01:49:56 +0000 (17:49 -0800)]
SequentialTaskQueue: use finally for _scheduling

Also, remove unecessary _dirty flag.

12 years agoIpcDaemonTestCase: init start_time earlier
Zac Medico [Thu, 9 Feb 2012 00:46:02 +0000 (16:46 -0800)]
IpcDaemonTestCase: init start_time earlier

Since commit 4620d6aba1c5c10344e311585516ee43819b703c, the
SequentialTaskQueue.add() method starts the task immediately, so
initialize start_time before that happens.

12 years agoSequentialTaskQueue: schedule automatically
Zac Medico [Thu, 9 Feb 2012 00:33:14 +0000 (16:33 -0800)]
SequentialTaskQueue: schedule automatically

This is needed to compensate for the removal of _idle_schedule in
commit 8c1fcf5a9ba9fa4d406a4d0cc284fe73a84f5a63, so that the
Scheduler's task queues operate without needing their schedule methods
called inside Scheduler._schedule_tasks().

12 years agoScheduler: remove _idle_schedule
Zac Medico [Wed, 8 Feb 2012 23:43:50 +0000 (15:43 -0800)]
Scheduler: remove _idle_schedule

This shouldn't be needed, since _schedule() should already be called
automatically when there are any relevant state changes.

12 years agoEventLoop: use same method names as glib
Zac Medico [Wed, 8 Feb 2012 21:20:06 +0000 (13:20 -0800)]
EventLoop: use same method names as glib

12 years agoPollScheduler: don't inherit EventLoop
Zac Medico [Wed, 8 Feb 2012 21:04:33 +0000 (13:04 -0800)]
PollScheduler: don't inherit EventLoop

12 years agoPollScheduler: split out EventLoop base class
Zac Medico [Wed, 8 Feb 2012 20:24:22 +0000 (12:24 -0800)]
PollScheduler: split out EventLoop base class

12 years agorepoman: make SRC_URI.mirror fatal
Zac Medico [Wed, 8 Feb 2012 16:38:27 +0000 (08:38 -0800)]
repoman: make SRC_URI.mirror fatal

Thanks to Christian Ruppert <idl0r@gentoo.org> for the suggestion.

12 years agorepoman: normalize thirdpartymirrors trailing /
Zac Medico [Wed, 8 Feb 2012 16:35:50 +0000 (08:35 -0800)]
repoman: normalize thirdpartymirrors trailing /

12 years agoAbstractPollTask: use timeout_add
Zac Medico [Wed, 8 Feb 2012 05:16:51 +0000 (21:16 -0800)]
AbstractPollTask: use timeout_add

12 years agoQueueScheduler: tweak timeout handling
Zac Medico [Wed, 8 Feb 2012 05:03:32 +0000 (21:03 -0800)]
QueueScheduler: tweak timeout handling

12 years agoPollScheduler: remove _schedule_wait
Zac Medico [Wed, 8 Feb 2012 04:35:36 +0000 (20:35 -0800)]
PollScheduler: remove _schedule_wait

12 years agoQueueScheduler: use timeout_add
Zac Medico [Wed, 8 Feb 2012 04:24:47 +0000 (20:24 -0800)]
QueueScheduler: use timeout_add

12 years agoAbstractPollTask: add _wait_loop method
Zac Medico [Wed, 8 Feb 2012 03:58:48 +0000 (19:58 -0800)]
AbstractPollTask: add _wait_loop method

12 years agoUse PollScheduler iteration method.
Zac Medico [Wed, 8 Feb 2012 03:26:21 +0000 (19:26 -0800)]
Use PollScheduler iteration method.

12 years agoPollScheduler: add iteration method
Zac Medico [Wed, 8 Feb 2012 03:21:58 +0000 (19:21 -0800)]
PollScheduler: add iteration method

12 years agoScheduler: use idle_add, not _poll override
Zac Medico [Wed, 8 Feb 2012 02:00:52 +0000 (18:00 -0800)]
Scheduler: use idle_add, not _poll override

12 years agoPollScheduler: implement idle_add
Zac Medico [Wed, 8 Feb 2012 01:59:12 +0000 (17:59 -0800)]
PollScheduler: implement idle_add

12 years agoPollScheduler: glib.io_add_watch() compatibility
Zac Medico [Wed, 8 Feb 2012 00:36:32 +0000 (16:36 -0800)]
PollScheduler: glib.io_add_watch() compatibility

12 years agoPollScheduler: timeouts regardless of IO events
Zac Medico [Tue, 7 Feb 2012 19:40:55 +0000 (11:40 -0800)]
PollScheduler: timeouts regardless of IO events

Now PollScheduler will execute timeouts predictably, even when there
no IO events being generated. This allows the Scheduler's display
updates to be handled via timeout_add.

12 years agoUse timeout_add to avoid recursion, bug #402335.
Zac Medico [Tue, 7 Feb 2012 02:58:51 +0000 (18:58 -0800)]
Use timeout_add to avoid recursion, bug #402335.

12 years agoAsynchronousTask: merge _waiting from subclass
Zac Medico [Tue, 7 Feb 2012 02:52:32 +0000 (18:52 -0800)]
AsynchronousTask: merge _waiting from subclass

12 years agoPollScheduler: add timeout_add like glib's
Zac Medico [Tue, 7 Feb 2012 19:11:50 +0000 (11:11 -0800)]
PollScheduler: add timeout_add like glib's

This will be useful as a substitute for recursion, in order to avoid
hitting the recursion limit for bug #402335.

12 years agospawn: assert that fork returns int type
Zac Medico [Mon, 6 Feb 2012 17:20:05 +0000 (09:20 -0800)]
spawn: assert that fork returns int type

12 years agoRemove portage.const._ENABLE_XATTR. v2.2.0_alpha85
Zac Medico [Sat, 4 Feb 2012 14:47:48 +0000 (06:47 -0800)]
Remove portage.const._ENABLE_XATTR.

12 years agorepoman: support git commit --gpg-sign
Zac Medico [Sat, 4 Feb 2012 14:26:12 +0000 (06:26 -0800)]
repoman: support git commit --gpg-sign

In order to sign commits with git, you will need Git >=1.7.9 and your
key will have to be configured by `git config user.signingkey key_id`.
Also, the repository will need to have "sign-commits = true" in
metadata/layout.conf. This will fix bug #333687.

12 years agoHonor repos.conf for overlay priority, bug 402099
Daniel Hornung [Fri, 3 Feb 2012 22:33:35 +0000 (14:33 -0800)]
Honor repos.conf for overlay priority, bug 402099

Signed-off-by: Zac Medico <zmedico@gentoo.org>
12 years agoinstall_qa_check: handle info dir rm failure
Zac Medico [Wed, 1 Feb 2012 18:52:11 +0000 (10:52 -0800)]
install_qa_check: handle info dir rm failure

This will fix bug #400679.

12 years agoLinkageMapELF: handle null bytes in NEEDED.ELF.2
Zac Medico [Wed, 1 Feb 2012 02:04:11 +0000 (18:04 -0800)]
LinkageMapELF: handle null bytes in NEEDED.ELF.2

This avoids an error from os.stat:
  TypeError: must be encoded string without NULL bytes, not str

12 years agoUse consistent indentation in output of `emerge -p --columns ${package}`
Arfrever Frehtes Taifersar Arahesis [Sat, 28 Jan 2012 02:20:25 +0000 (03:20 +0100)]
Use consistent indentation in output of `emerge -p --columns ${package}`
regardless of ROOT.

12 years agoDelete needless parentheses.
Arfrever Frehtes Taifersar Arahesis [Sat, 28 Jan 2012 01:50:11 +0000 (02:50 +0100)]
Delete needless parentheses.

12 years agoDon't print ::${repository} for main repository in output of
Arfrever Frehtes Taifersar Arahesis [Sat, 28 Jan 2012 01:38:24 +0000 (02:38 +0100)]
Don't print ::${repository} for main repository in output of
`emerge -pv ${package}` by default. Add --verbose-main-repo-display
option, which enables printing ::${repository} for main repository.

12 years agoApply INSTALL_MASK prior to reading the tree
Brian Harring [Fri, 27 Jan 2012 18:23:02 +0000 (10:23 -0800)]
Apply INSTALL_MASK prior to reading the tree

If this isn't done, collision-protect uses the old cached filelist,
leading to it complaining about things that INSTALL_MASK sorted already.

BUGS=chromium-os:25060
TEST=emerge sudo && emerge chromeos-base

12 years agophase-helpers.sh: set -x when emulating yes
Zac Medico [Wed, 25 Jan 2012 05:34:27 +0000 (21:34 -0800)]
phase-helpers.sh: set -x when emulating yes

This avoids displaying a bunch of garbage in debug mode.

12 years agoFix display of installed version for packages, which have multiple slots
Arfrever Frehtes Taifersar Arahesis [Mon, 23 Jan 2012 17:07:40 +0000 (18:07 +0100)]
Fix display of installed version for packages, which have multiple slots
installed. Follow-up to commit 8118be36842a2db2eb72538e21a3b343773b3365.

12 years agoMake the second part of_emerge.resolver.output.Display.verbose_size()
Arfrever Frehtes Taifersar Arahesis [Sun, 22 Jan 2012 03:53:59 +0000 (04:53 +0100)]
Make the second part of_emerge.resolver.output.Display.verbose_size()
conditional on self.quiet_repo_display instead of earlier returning
if self.quiet_repo_display is False. No functional changes.

12 years agoPrint [${old_version}::${old_repository}] in output of `emerge -pv ${package}`
Arfrever Frehtes Taifersar Arahesis [Sun, 22 Jan 2012 03:43:03 +0000 (04:43 +0100)]
Print [${old_version}::${old_repository}] in output of `emerge -pv ${package}`
when ${old_version} is the same as ${new_version}, but ${old_repository} is
different than ${new_repository}.

12 years agoecompress: don't rename dir symlink, bug #399595
Zac Medico [Sat, 21 Jan 2012 21:32:59 +0000 (13:32 -0800)]
ecompress: don't rename dir symlink, bug #399595

12 years agodocument --quiet-repo-display
Zac Medico [Sat, 21 Jan 2012 04:00:55 +0000 (20:00 -0800)]
document --quiet-repo-display

12 years agoPrint ::${repository} in output of `emerge -pv ${package}` by default.
Arfrever Frehtes Taifersar Arahesis [Fri, 20 Jan 2012 23:40:52 +0000 (00:40 +0100)]
Print ::${repository} in output of `emerge -pv ${package}` by default.
Add --quiet-repo-display option, which enables previous, more quiet output.