Zac Medico [Fri, 11 Jan 2013 07:22:03 +0000 (23:22 -0800)]
DoebuildSpawnTestCase: also call spawn_nofetch
Zac Medico [Fri, 11 Jan 2013 06:54:30 +0000 (22:54 -0800)]
spawn_nofetch: import portage, bug #451344
Zac Medico [Thu, 10 Jan 2013 14:41:15 +0000 (06:41 -0800)]
Revert "_ctypes: don't cache library, bug #448858"
This reverts commit
9e37cca4f54260bd8c45a3041fcee00938c71649.
As noted in bug #448858, comment #14, dlclose is not called
automatically, so we may as well cache our library handles.
In order to protect ourselves, we use a fork since commit
7ebb2f54877edb28621c33e380f8777b1b1dc201.
Zac Medico [Thu, 10 Jan 2013 14:06:34 +0000 (06:06 -0800)]
Use EventLoop, no SchedulerInterface if possible.
Zac Medico [Thu, 10 Jan 2013 12:03:45 +0000 (04:03 -0800)]
emerge/test_simple.py: override PATH more
Override things that may be unavailable, or may have portability
issues when running tests in exotic environments.
Zac Medico [Thu, 10 Jan 2013 11:11:35 +0000 (03:11 -0800)]
SpawnProcess: handle fcntl ENOTTY for FreeBSD
Zac Medico [Thu, 10 Jan 2013 10:34:49 +0000 (02:34 -0800)]
_emirrordist/main.py: remove extra Config import
Zac Medico [Thu, 10 Jan 2013 09:40:38 +0000 (01:40 -0800)]
FetchTask: use umask for copied files
Zac Medico [Thu, 10 Jan 2013 09:17:46 +0000 (01:17 -0800)]
FetchTask: avoid possible duplicate URI
Zac Medico [Thu, 10 Jan 2013 09:05:40 +0000 (01:05 -0800)]
FetchTask: randomize thirdpartymirrors
Zac Medico [Thu, 10 Jan 2013 08:41:01 +0000 (00:41 -0800)]
FetchTask: log_failure for distfiles digester
Zac Medico [Thu, 10 Jan 2013 07:54:26 +0000 (23:54 -0800)]
FetchIterator: support PORTAGE_CHECKSUM_FILTER
Zac Medico [Thu, 10 Jan 2013 07:17:09 +0000 (23:17 -0800)]
make.conf.5: escape apostropy quote, bug #451118
Zac Medico [Thu, 10 Jan 2013 03:57:09 +0000 (19:57 -0800)]
FetchIterator: use RepoConfig.load_manifest()
Zac Medico [Wed, 9 Jan 2013 22:23:28 +0000 (14:23 -0800)]
_fetch_digester_exit: fix NoneType AttributeError
Zac Medico [Wed, 9 Jan 2013 18:51:10 +0000 (10:51 -0800)]
Makefile: install emirrordist
Zac Medico [Wed, 9 Jan 2013 14:38:16 +0000 (06:38 -0800)]
Add emirrordist, a tool for mirroring distfiles.
Special thanks to Brian Harring, author of the mirror-dist program from
which emirrordist is derived.
Zac Medico [Wed, 9 Jan 2013 12:19:57 +0000 (04:19 -0800)]
Manifest: make distdir argument optional
Zac Medico [Wed, 9 Jan 2013 01:28:34 +0000 (17:28 -0800)]
autounmask: tweak --autounmask-write suggestion
Ben Kohler [Wed, 9 Jan 2013 01:06:01 +0000 (17:06 -0800)]
autounmask: show file names for suggested changes
Also, advise the user to examine the proposed config changes carefully.
X-Gentoo-Bug: 450960
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=450960
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.