Zac Medico [Tue, 8 Jan 2013 02:08:40 +0000 (18:08 -0800)]
SpawnProcess: stdout_fd FD_CLOEXEC
Zac Medico [Tue, 8 Jan 2013 01:48:11 +0000 (17:48 -0800)]
ManifestTask: use PipeLogger for monitoring
Zac Medico [Tue, 8 Jan 2013 01:03:32 +0000 (17:03 -0800)]
Declare regex literal as such.
Zac Medico [Tue, 8 Jan 2013 00:56:12 +0000 (16:56 -0800)]
parseManifest2: handle space in name, bug 450736
Zac Medico [Mon, 7 Jan 2013 09:16:11 +0000 (01:16 -0800)]
PipeLogger: handle file object for input_fd
Zac Medico [Mon, 7 Jan 2013 07:11:28 +0000 (23:11 -0800)]
If 2 make.conf files found, then warn.
This may give a clue to those who unintentionally end up with 2
make.conf files somehow.
Zac Medico [Mon, 7 Jan 2013 00:28:04 +0000 (16:28 -0800)]
MetadataRegen: simplify _iter_every_cp
Zac Medico [Sun, 6 Jan 2013 20:50:28 +0000 (12:50 -0800)]
MetadataRegen: call cp_all for each category
List categories individually, in order to start yielding quicker,
and in order to reduce latency in case of a signal interrupt.
Zac Medico [Sun, 6 Jan 2013 20:48:04 +0000 (12:48 -0800)]
portdbapi.cp_all(): add reverse sort parameter
Zac Medico [Sun, 6 Jan 2013 11:15:49 +0000 (03:15 -0800)]
_keep_scheduling: check _terminated.is_set()
This ensures that scheduling loops terminate as soon as possible after
an interrupt is received.
Zac Medico [Sun, 6 Jan 2013 11:05:58 +0000 (03:05 -0800)]
ManifestScheduler: fix signal interrupt handling
Zac Medico [Sun, 6 Jan 2013 09:14:18 +0000 (01:14 -0800)]
MetadataRegen: portdbapi.cp_all() already sorted
Zac Medico [Sun, 6 Jan 2013 08:44:12 +0000 (00:44 -0800)]
MetadataRegen: fix signal interrupt handling
We have to force it out of the scheduling loop before
_termination_check can have an effect.
Zac Medico [Sat, 5 Jan 2013 15:43:20 +0000 (07:43 -0800)]
Handle os.write() return code with loop.
Zac Medico [Sat, 5 Jan 2013 15:18:29 +0000 (07:18 -0800)]
BinpkgVerifier: use async FileDigester
Zac Medico [Sat, 5 Jan 2013 15:18:05 +0000 (07:18 -0800)]
Add async FileDigester class.
Zac Medico [Sat, 5 Jan 2013 11:14:30 +0000 (03:14 -0800)]
.gitignore: __pycache__/
Zac Medico [Sat, 5 Jan 2013 04:37:35 +0000 (20:37 -0800)]
Add QA_AM_MAINTAINER_MODE for bug #450278.
Zac Medico [Sat, 5 Jan 2013 03:40:45 +0000 (19:40 -0800)]
SchedulerInterface: use loop for proxied attrs
Zac Medico [Fri, 4 Jan 2013 13:55:00 +0000 (05:55 -0800)]
runtests.sh summary: add minimum column width
Zac Medico [Fri, 4 Jan 2013 13:22:48 +0000 (05:22 -0800)]
ebuild-ipc: add FifoWriter class
Zac Medico [Fri, 4 Jan 2013 07:34:05 +0000 (23:34 -0800)]
ebuild-ipc: fix read timeout msg / daemon check
It got disabled in commit
06d31ef00da24352a6614f20bccfc892d2120ed9.
Zac Medico [Fri, 4 Jan 2013 07:14:07 +0000 (23:14 -0800)]
ebuild-ipc: fix waiting message
It got disabled by commit
439151bb5b0bd2ac4c9d2dd218fe377ce0b988e6.
Zac Medico [Fri, 4 Jan 2013 07:07:00 +0000 (23:07 -0800)]
ebuild-ipc: use PipeReader in _receive_reply
Zac Medico [Fri, 4 Jan 2013 06:29:48 +0000 (22:29 -0800)]
ebuild-ipc: use PipeReader in _wait
Zac Medico [Fri, 4 Jan 2013 06:08:56 +0000 (22:08 -0800)]
PipeReader: support plain fd without file obj
Zac Medico [Fri, 4 Jan 2013 04:35:40 +0000 (20:35 -0800)]
test_paren_reduce: disable deprecation warning
Zac Medico [Fri, 4 Jan 2013 04:25:15 +0000 (20:25 -0800)]
Enable FD_CLOEXEC for lock fd.
Zac Medico [Fri, 4 Jan 2013 04:16:17 +0000 (20:16 -0800)]
Enable FD_CLOEXEC for non-blocking pipes.
Zac Medico [Fri, 4 Jan 2013 03:39:19 +0000 (19:39 -0800)]
EventLoop: enable FD_CLOEXEC on epoll fd
Zac Medico [Fri, 4 Jan 2013 02:23:42 +0000 (18:23 -0800)]
portage._internal_caller: use global_event_loop
It's more efficient to use global_event_loop than a local EventLoop
instance, so do that when we know it's safe.
Zac Medico [Fri, 4 Jan 2013 00:02:28 +0000 (16:02 -0800)]
SpawnProcess: support close_fds
Zac Medico [Thu, 3 Jan 2013 23:55:42 +0000 (15:55 -0800)]
_doebuild_spawn: disable close_fds for "depend"
Zac Medico [Thu, 3 Jan 2013 23:45:38 +0000 (15:45 -0800)]
spawn: add close_fds parameter
Zac Medico [Thu, 3 Jan 2013 23:31:15 +0000 (15:31 -0800)]
runTests: portage._internal_caller = True
Zac Medico [Thu, 3 Jan 2013 23:04:40 +0000 (15:04 -0800)]
Add portage._internal_caller var, and use it.
Zac Medico [Thu, 3 Jan 2013 22:42:41 +0000 (14:42 -0800)]
portdbapi: use global_event_loop when safe
Zac Medico [Thu, 3 Jan 2013 02:51:47 +0000 (18:51 -0800)]
emerge --depclean: show atoms in verbose output
Zac Medico [Wed, 2 Jan 2013 06:03:54 +0000 (22:03 -0800)]
resume_depgraph: check for alternative installed
When pruning packages from the merge list, only prune them if the
relevant dependency is not satisfied by an alternative package which
is already installed. This should fix bug #448176, and now there's also
reasons logged for why a particular package is dropped.
Zac Medico [Wed, 2 Jan 2013 04:48:05 +0000 (20:48 -0800)]
depgraph: dynamic deps parallel metadata regen
Zac Medico [Wed, 2 Jan 2013 02:42:18 +0000 (18:42 -0800)]
FakeVartree: split _apply_dynamic_deps method
This will eventually be used for parallelization of aux_get/regen
processes.
Sergei Trofimovich [Wed, 2 Jan 2013 00:44:33 +0000 (16:44 -0800)]
repoman: improve thirdpartymirrors output
Sergei Trofimovich [Tue, 1 Jan 2013 14:15:39 +0000 (17:15 +0300)]
repoman: tell user which mirror identifiers contain SRC_URI
before the patch:
$ repoman full
RepoMan scours the neighborhood...
metadata.missing 1
dev-haskell/qthaskellc/metadata.xml
SRC_URI.mirror 1
dev-haskell/qthaskellc/qthaskellc-1.1.4.ebuild: 'http://download.berlios.de/' found in thirdpartymirrors
after the patch:
$ repoman full
RepoMan scours the neighborhood...
metadata.missing 1
dev-haskell/qthaskellc/metadata.xml
SRC_URI.mirror 1
dev-haskell/qthaskellc/qthaskellc-1.1.4.ebuild: 'http://download.berlios.de/' found in thirdpartymirrors: 'mirror://berlios'
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Zac Medico [Tue, 1 Jan 2013 23:50:21 +0000 (15:50 -0800)]
use(): fatal missing IUSE in EAPI 5, bug #449708
Zac Medico [Tue, 1 Jan 2013 23:39:50 +0000 (15:39 -0800)]
repoman: usex check 4-python and 4-slot-abi
Zac Medico [Tue, 1 Jan 2013 23:23:46 +0000 (15:23 -0800)]
repoman: handle EAPI 5 usex, bug #449678
Zac Medico [Tue, 1 Jan 2013 22:37:45 +0000 (14:37 -0800)]
Revert "AsynchronousLock: override _async_wait_cb"
This reverts commit
83cfc04df383b56592b89f1dc58428c0e8d09925.
This override could be bad if the base class needs to call _async_wait
for some reason.
Zac Medico [Tue, 1 Jan 2013 12:24:14 +0000 (04:24 -0800)]
runtests.sh: summarize results for all versions
Zac Medico [Tue, 1 Jan 2013 11:08:49 +0000 (03:08 -0800)]
AsynchronousLock: override _async_wait_cb
Zac Medico [Tue, 1 Jan 2013 04:57:07 +0000 (20:57 -0800)]
test_echangelog: sync year with UpdateChangeLog
The code has to be in sync in order to prevent erroneous test failures
triggered by new year's day timezone differences.
Zac Medico [Mon, 31 Dec 2012 23:52:46 +0000 (15:52 -0800)]
emerge --depclean: clarify unsatisfied atoms
If the atom is unsatisfied due to a USE dep that's only visible in the
unevaluated form, then display the unevaluated form.
Zac Medico [Mon, 31 Dec 2012 22:24:04 +0000 (14:24 -0800)]
_LockThread: use thread-safe EventLoop.idle_add()
Zac Medico [Mon, 31 Dec 2012 22:11:38 +0000 (14:11 -0800)]
AsynchronousTask: _async_wait is thread-safe
Zac Medico [Mon, 31 Dec 2012 03:16:11 +0000 (19:16 -0800)]
EventLoop.iteration: no IO blocking if possible
Avoid blocking for IO if there are any timeout or idle callback events
available to process. This will prevent starvation of the idle
callbacks, which are much more common since commit
a3100be184ba1cac2f672f0a1cadcf01690c6d3f. We don't want these idle
callbacks to be delayed by long periods of IO blocking.
Zac Medico [Mon, 31 Dec 2012 01:01:59 +0000 (17:01 -0800)]
AsynchronousTask: add _async_wait method
For cases where _start returns synchronously, this method is a
convenient way to trigger an asynchronous call to self.wait()
(in order to notify exit listeners), avoiding excessive event
loop recursion (or stack overflow) that synchronous calling of
exit listeners can cause.
Zac Medico [Sun, 30 Dec 2012 09:33:10 +0000 (01:33 -0800)]
Use ctypes in subprocess for bug #448858.
Isolate ctypes usage in a subprocess, in order to avoid potential
problems with stale cached libraries as described in bug #448858,
comment #14 (also see http://bugs.python.org/issue14597).
Zac Medico [Sat, 29 Dec 2012 22:34:42 +0000 (14:34 -0800)]
emerge --select: add -w short option
Zac Medico [Sat, 29 Dec 2012 07:44:39 +0000 (23:44 -0800)]
Use run_main_scheduler where possible.
Zac Medico [Sat, 29 Dec 2012 07:18:47 +0000 (23:18 -0800)]
Add run_main_scheduler helper function.
Zac Medico [Sat, 29 Dec 2012 06:30:09 +0000 (22:30 -0800)]
Use 'with file' more.
This helps to minimize ResourceWarning triggered by ^C with python3.
Zac Medico [Sat, 29 Dec 2012 01:11:15 +0000 (17:11 -0800)]
egencache: fix --strict-manifests=n
Zac Medico [Fri, 28 Dec 2012 22:44:34 +0000 (14:44 -0800)]
_MergeProcess: tweak merge-sync library lookup
The library handle is no longer cached, since commit
9e37cca4f54260bd8c45a3041fcee00938c71649, so skip the LoadLibrary
call and just call find_library instead.
Zac Medico [Fri, 28 Dec 2012 22:31:10 +0000 (14:31 -0800)]
_ctypes: don't cache library, bug #448858
Zac Medico [Fri, 28 Dec 2012 21:36:04 +0000 (13:36 -0800)]
man pages: refer to /etc/portage/make.conf
Zac Medico [Fri, 28 Dec 2012 21:21:45 +0000 (13:21 -0800)]
quickpkg.1: document options, bug #243192
Zac Medico [Fri, 28 Dec 2012 06:30:07 +0000 (22:30 -0800)]
PipeReaderBlockingIO handle threading ImportError
Zac Medico [Fri, 28 Dec 2012 01:35:49 +0000 (17:35 -0800)]
EventLoop.iteration(): avoid busy waiting
In order to avoid blocking forever when may_block is True (the
default), callers must be careful to ensure that at least one of the
following conditions is met:
1) An event source or timeout is registered which is guaranteed
to trigger at least on event (a call to an idle function
only counts as an event if it returns a False value which
causes it to be stop being called)
2) Another thread is guaranteed to call one of the thread-safe
methods which notify iteration to stop waiting (such as
idle_add or timeout_add).
These rules ensure that iteration is able to block until an event
arrives, without doing any busy waiting that would waste CPU time.
This will fix busy waiting which would be triggered by
PopenPipeBlockingIOTestCase when waiting for the thread from
PipeReaderBlockingIO to call idle_add.
Zac Medico [Thu, 27 Dec 2012 08:15:22 +0000 (00:15 -0800)]
Add PipeReaderBlockingIO, Jython experimentation.
Zac Medico [Thu, 27 Dec 2012 03:10:16 +0000 (19:10 -0800)]
merge-sync: handle PyPy syncfs fail, bug #446610
Zac Medico [Thu, 27 Dec 2012 02:31:18 +0000 (18:31 -0800)]
EventLoop: thread-safe idle_add and timeout_add
This may be useful for using threads to handle blocking IO with Jython,
since Jython lacks the fcntl module which is needed for non-blocking IO
(see http://bugs.jython.org/issue1074).
Zac Medico [Wed, 26 Dec 2012 22:47:10 +0000 (14:47 -0800)]
repoman: fix git_supports_gpg_sign
Zac Medico [Mon, 24 Dec 2012 22:13:22 +0000 (14:13 -0800)]
emerge -h: add @ prefix to system and world sets
Zac Medico [Mon, 24 Dec 2012 21:12:03 +0000 (13:12 -0800)]
vardbapi: tweak deprecated constructor param
Zac Medico [Mon, 24 Dec 2012 21:06:43 +0000 (13:06 -0800)]
binarytree: tweak deprecated constructor param
Zac Medico [Mon, 24 Dec 2012 20:20:58 +0000 (12:20 -0800)]
porttree.py: tweak deprecated constructor params
Trigger a DeprecationWarning even when None is passed in for one of the
deprecated parameters, ensuring that any potentially unsafe usage
triggers the warning.
Arfrever Frehtes Taifersar Arahesis [Sun, 23 Dec 2012 05:32:24 +0000 (06:32 +0100)]
Support subslots in command line arguments.
Zac Medico [Sat, 22 Dec 2012 08:21:30 +0000 (00:21 -0800)]
runtests.sh: add pypy-2.0 to PYTHON_VERSIONS
Zac Medico [Fri, 21 Dec 2012 22:01:48 +0000 (14:01 -0800)]
repoman: exempt virtuals from KEYWORDS.stable
Zac Medico [Wed, 19 Dec 2012 21:48:00 +0000 (13:48 -0800)]
config: clarify that default target_root is /
Arfrever Frehtes Taifersar Arahesis [Wed, 19 Dec 2012 03:56:59 +0000 (04:56 +0100)]
Rename a private module in preparation for extending its functionality.
Zac Medico [Tue, 18 Dec 2012 07:10:19 +0000 (23:10 -0800)]
depclean warning: count nested sets, bug #298298
Zac Medico [Tue, 18 Dec 2012 07:03:45 +0000 (23:03 -0800)]
depclean summary: count nested sets, bug #298298
Zac Medico [Sun, 16 Dec 2012 08:56:26 +0000 (00:56 -0800)]
repoman: fix dep check for * and ~* keywords
We want the effective ACCEPT_KEYWORDS to correspond to the current
profile's arch (rather than using wildcards).
Zac Medico [Sat, 15 Dec 2012 23:41:48 +0000 (15:41 -0800)]
repoman: check deps for * and ~* keywords
Zac Medico [Sat, 15 Dec 2012 22:23:53 +0000 (14:23 -0800)]
repoman keywords.dropped: handle * and ~*
Zac Medico [Sat, 15 Dec 2012 22:04:28 +0000 (14:04 -0800)]
Handle closed sys.__stdin__, for multiprocessing
Buggy code in python's multiprocessing/process.py closes sys.stdin and
reassigns it to open(os.devnull), but fails to update the corresponding
__stdin__ reference. So, detect that case and handle it appropriately.
The buggy code is visible in http://hg.python.org/lookup/r73708.
Michał Górny [Sat, 15 Dec 2012 14:43:29 +0000 (15:43 +0100)]
makeopts_jobs is declared in multiprocessing, not eutils.
Zac Medico [Tue, 11 Dec 2012 20:40:48 +0000 (12:40 -0800)]
Add QA_CONFIGURE_OPTIONS variable.
Zac Medico [Tue, 11 Dec 2012 17:14:41 +0000 (09:14 -0800)]
xattr-helper.py: fix AssertionError string format
Zac Medico [Tue, 11 Dec 2012 11:09:27 +0000 (03:09 -0800)]
xattr-helper.py: fix backslash quoting
Arfrever Frehtes Taifersar Arahesis [Tue, 11 Dec 2012 09:39:38 +0000 (10:39 +0100)]
Disallow SLOT="${slot}/${subslot}=" in ebuilds.
Zac Medico [Tue, 11 Dec 2012 09:00:25 +0000 (01:00 -0800)]
prepstrip: preserve xattrs, bug #446420
Zac Medico [Mon, 10 Dec 2012 22:05:09 +0000 (14:05 -0800)]
prepstrip: handle objcopy failure, bug #446774
Zac Medico [Mon, 10 Dec 2012 08:55:18 +0000 (00:55 -0800)]
dblink._elog_process: obey phasefilter arg
This would make a difference when collecting messages for prerm/postrm
when uninstalling the previous instance of a package that's been
updated.
Zac Medico [Mon, 10 Dec 2012 08:38:51 +0000 (00:38 -0800)]
MergeProcess: avoid duplicate elog, bug #446136
Zac Medico [Mon, 10 Dec 2012 02:07:40 +0000 (18:07 -0800)]
get_real_flag: handle implicit iuse
Zac Medico [Mon, 10 Dec 2012 00:56:05 +0000 (16:56 -0800)]
emerge --info: handle bug #446358 more
- old-style virtuals
- masked packages
Zac Medico [Mon, 10 Dec 2012 00:26:14 +0000 (16:26 -0800)]
get_real_flag: handls use-dep default bug #446666
Zac Medico [Sat, 8 Dec 2012 09:24:52 +0000 (01:24 -0800)]
emerge --verbose: [ y | n ] for bug #446324
Zac Medico [Sat, 8 Dec 2012 01:49:27 +0000 (17:49 -0800)]
emerge --info: don't error for existing packages
This will fix bug #446358.