Zac Medico [Fri, 13 Aug 2010 19:33:48 +0000 (12:33 -0700)]
Handle KeyError due to stale events.
Zac Medico [Fri, 13 Aug 2010 19:24:12 +0000 (12:24 -0700)]
Set o-r on ipc fifos since the are sensitive to reading.
Zac Medico [Fri, 13 Aug 2010 19:14:06 +0000 (12:14 -0700)]
Bug #315615 - Use EbuildIpcDaemon to implement has_version and best_version.
This provides performance benefits and also avoids permissions issues with
FEATURES=userpriv.
Zac Medico [Fri, 13 Aug 2010 17:53:59 +0000 (10:53 -0700)]
Rename SubProcess._zombie() to _orphan_process_warn() and clarify
the eerror message.
Zac Medico [Fri, 13 Aug 2010 17:32:48 +0000 (10:32 -0700)]
Move EBUILD_MASTER_PID and associated SIGTERM trap into ebuild_main()
since it seems more reliable this way. This helps us avoid having
EbuildIpcDaemon need to send a kill signal (and triggering the
zombie message too). This is especially important for the die helper
which is called by other helpers for EAPI 4.
Zac Medico [Fri, 13 Aug 2010 16:37:15 +0000 (09:37 -0700)]
Disable the die() stack trace when called by the die helper.
Zac Medico [Fri, 13 Aug 2010 15:35:53 +0000 (08:35 -0700)]
Remove message about race conditions in die, solved by EbuildIpcDaemon.
Zac Medico [Fri, 13 Aug 2010 15:29:37 +0000 (08:29 -0700)]
Write eerror messages to the log file, and only to stdout when
appropriate.
Zac Medico [Fri, 13 Aug 2010 14:52:50 +0000 (07:52 -0700)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Arfrever Frehtes Taifersar Arahesis [Fri, 13 Aug 2010 14:52:54 +0000 (16:52 +0200)]
Add QA check for libtool libraries in Python site-packages directories.
Zac Medico [Fri, 13 Aug 2010 14:47:56 +0000 (07:47 -0700)]
Bug #278895 - After EbuildIpcDaemon identifies an ebuild process that
has left an orphan child process running in the background, generate
an eerror message about a 'zombie' process and note the pid.
Arfrever Frehtes Taifersar Arahesis [Fri, 13 Aug 2010 14:46:34 +0000 (16:46 +0200)]
Add QA check for static libraries in Python site-packages directories.
Arfrever Frehtes Taifersar Arahesis [Fri, 13 Aug 2010 14:28:22 +0000 (16:28 +0200)]
Remove files generated by testCompileModules.
Arfrever Frehtes Taifersar Arahesis [Fri, 13 Aug 2010 14:23:35 +0000 (16:23 +0200)]
Fix some comments.
Zac Medico [Fri, 13 Aug 2010 14:05:12 +0000 (07:05 -0700)]
Use EbuildIpcDaemon to replace the functionality of
EBUILD_EXIT_STATUS_FILE.
Zac Medico [Fri, 13 Aug 2010 14:03:43 +0000 (07:03 -0700)]
Use SpawnProcess instead of doebuild.spawn().
Zac Medico [Fri, 13 Aug 2010 13:31:59 +0000 (06:31 -0700)]
* Fix IndexError in PollScheduler._next_poll_event() by raising
StopIteration instead.
* Add an optional timeout parameter to PollScheduler._schedule_wait()
(this will be used in a later commit).
Zac Medico [Fri, 13 Aug 2010 06:58:22 +0000 (23:58 -0700)]
Call pickle.load() directly on the input pipe, and handle exceptions.
Zac Medico [Fri, 13 Aug 2010 06:11:53 +0000 (23:11 -0700)]
Refactor interaction between EbuildIpcDaemon and ExitCommand.
Zac Medico [Fri, 13 Aug 2010 05:33:56 +0000 (22:33 -0700)]
Clean up a bit.
Zac Medico [Fri, 13 Aug 2010 05:08:56 +0000 (22:08 -0700)]
Make IpcDaemonTestCase demonstrate an EbuildIpcDaemon based
replacement for EBUILD_EXIT_STATUS_FILE.
Zac Medico [Fri, 13 Aug 2010 03:46:53 +0000 (20:46 -0700)]
Split out an EbuildIpcDaemon class from FifoIpcDaemon.
Zac Medico [Fri, 13 Aug 2010 01:42:08 +0000 (18:42 -0700)]
Fix inverted logic in eapi_supports_prefix() call, which causes a
regression such that ED, EPREFIX, and EROOT where not set in EAPI 3
ebuild environments (just for portage-9999 users).
Zac Medico [Thu, 12 Aug 2010 18:39:31 +0000 (11:39 -0700)]
Make locks quiet since unintended locking messages displayed on
stdout could corrupt the intended output of this program.
Zac Medico [Thu, 12 Aug 2010 18:21:43 +0000 (11:21 -0700)]
Don't use unicode wrapper for mkfifo since it only allows string
arguments in python3.
Zac Medico [Thu, 12 Aug 2010 17:01:02 +0000 (10:01 -0700)]
Add some pieces of an IPC framework that will eventually allow ebuild
processes can to communicate with portage's main python process.
Here are a few possible uses:
1) Robust subshell/subprocess die support. This allows the ebuild
environment to reliably die without having to rely on signal IPC.
2) Delegation of portageq calls to the main python process, eliminating
performance and userpriv permission issues.
3) Reliable ebuild termination in cases when the ebuild has accidentally
left orphan processes running in the backgraound (as in bug 278895).
Sebastian Luther [Thu, 12 Aug 2010 15:31:43 +0000 (17:31 +0200)]
Tests: ResolverPlayground: more debug stuff
Zac Medico [Thu, 12 Aug 2010 13:51:11 +0000 (06:51 -0700)]
Avoid unnecessary sys.hexversion conditional.
Zac Medico [Thu, 12 Aug 2010 12:56:22 +0000 (05:56 -0700)]
Factor EBUILD_EXIT_STATUS_FILE code out of AbstractEbuildProcess
subclasses and into AbstractEbuildProcess itself.
Sebastian Luther [Thu, 12 Aug 2010 12:00:13 +0000 (14:00 +0200)]
Tests: ResolverPlayground: add debug option to not supress depgraph output
Useful for debugging test cases.
Sebastian Luther [Thu, 12 Aug 2010 11:55:55 +0000 (13:55 +0200)]
Tests: ResolverPlayground: create world file
Zac Medico [Thu, 12 Aug 2010 11:21:05 +0000 (04:21 -0700)]
Consolidate EBUILD_EXIT_STATUS_FILE handling in doebuild.spawn()
and subclasses of AbstractEbuildProcess.
Zac Medico [Thu, 12 Aug 2010 10:56:20 +0000 (03:56 -0700)]
Fix lazyimport() to handle partially imported modules by creating
proxies, instead of raising ImportError.
Sebastian Luther [Thu, 12 Aug 2010 10:32:02 +0000 (12:32 +0200)]
autounmask: Print use flag that trigger a given dep in comments
Sebastian Luther [Thu, 12 Aug 2010 10:31:23 +0000 (12:31 +0200)]
Tests: more resolver/test_autounmask tests
Sebastian Luther [Thu, 12 Aug 2010 10:30:20 +0000 (12:30 +0200)]
portage.dep.extract_affecting_use: Don't raise if atom is not in dep string
Sebastian Luther [Thu, 12 Aug 2010 10:29:05 +0000 (12:29 +0200)]
Tests: Fix typo bug ResolverPlayground
Sebastian Luther [Thu, 12 Aug 2010 08:59:33 +0000 (10:59 +0200)]
Add portage.dep.extract_affecting_use()
Zac Medico [Thu, 12 Aug 2010 08:47:04 +0000 (01:47 -0700)]
Fix faulty $? handling in *into functions (from previous commit).
Dror Levin [Wed, 26 May 2010 20:23:38 +0000 (23:23 +0300)]
Make utilities die on failure in EAPI 4, bug 273651
Zac Medico [Thu, 12 Aug 2010 08:29:38 +0000 (01:29 -0700)]
Add copyright header.
Zac Medico [Thu, 12 Aug 2010 08:19:41 +0000 (01:19 -0700)]
Add missing __init__.py
Sebastian Luther [Wed, 11 Aug 2010 11:24:48 +0000 (13:24 +0200)]
Tests: More slot_collision_handler tests
Sebastian Luther [Wed, 11 Aug 2010 11:16:23 +0000 (13:16 +0200)]
Fix slot_collision_handler tests
Sebastian Luther [Mon, 9 Aug 2010 10:06:31 +0000 (12:06 +0200)]
Tests: add resolver/test_slot_collisions
Sebastian Luther [Mon, 9 Aug 2010 10:05:54 +0000 (12:05 +0200)]
Tests: resolver/ResolverPlayground: Create a proper profile
Sebastian Luther [Mon, 9 Aug 2010 07:25:35 +0000 (09:25 +0200)]
_emerge.depgraph: use writemsg() instead of print() (to silence tests)
Sebastian Luther [Mon, 9 Aug 2010 06:03:00 +0000 (08:03 +0200)]
Tests: Fix bug in resolver/ResolverPlayground
Sebastian Luther [Mon, 9 Aug 2010 05:54:45 +0000 (07:54 +0200)]
Tests: resolver/test_slot_collisions: Check for slot_collision_solutions
Sebastian Luther [Tue, 15 Jun 2010 21:15:30 +0000 (23:15 +0200)]
slot_collision_handler: Add more documentation
Sebastian Luther [Tue, 8 Jun 2010 10:12:24 +0000 (12:12 +0200)]
slot_collision_handler: Fix function names broken by import changes
Sebastian Luther [Mon, 7 Jun 2010 21:01:02 +0000 (23:01 +0200)]
slot_collision_handler: Minor formatting changes
Sebastian Luther [Mon, 7 Jun 2010 20:59:57 +0000 (22:59 +0200)]
slot_collision_handler: Pass noiselevel=-1 to writemsg for debug output
Sebastian Luther [Mon, 7 Jun 2010 20:54:12 +0000 (22:54 +0200)]
Remove unused import
Sebastian Luther [Mon, 7 Jun 2010 18:11:45 +0000 (20:11 +0200)]
slot_collision_handler: Return a string instead of priting the messages to screen.
Sebastian Luther [Mon, 7 Jun 2010 17:54:37 +0000 (19:54 +0200)]
slot_collision_handler: Don't print an explanation for version based conflicts.
Sebastian Luther [Mon, 7 Jun 2010 15:12:12 +0000 (17:12 +0200)]
Rework the way the slot_collision_handler selects packages for display and highlight violated parts of atoms.
Sebastian Luther [Tue, 1 Jun 2010 06:04:58 +0000 (08:04 +0200)]
Add new slot collision handler in _emerge/resolver/slot_collision.py
Sebastian Luther [Thu, 12 Aug 2010 07:25:10 +0000 (09:25 +0200)]
autounmask: Print comments for USE changes too
Sebastian Luther [Wed, 11 Aug 2010 17:35:39 +0000 (19:35 +0200)]
Fix tests
Sebastian Luther [Wed, 11 Aug 2010 17:30:22 +0000 (19:30 +0200)]
Make REQUIRED_USE work again. Without paren_reduce this time.
Sebastian Luther [Wed, 11 Aug 2010 12:14:37 +0000 (14:14 +0200)]
Tests: add resolver/test_required_use
Sebastian Luther [Wed, 11 Aug 2010 12:00:29 +0000 (14:00 +0200)]
Make sure we don't allow REQUIRED_USE in EAPIs that don't support it
Sebastian Luther [Sun, 8 Aug 2010 18:20:33 +0000 (20:20 +0200)]
Tests: ResolverPlayground: don't ignore "local config" to not run in "repoman" mode
This is supposed to not introduce any side effects from the running system's config
Sebastian Luther [Sun, 8 Aug 2010 17:52:59 +0000 (19:52 +0200)]
Tests: add resolver/test_backtracking
Sebastian Luther [Sun, 8 Aug 2010 17:50:50 +0000 (19:50 +0200)]
Tests: add ResolverPlaygroundTestCase and port all resolver tests to it
Sebastian Luther [Wed, 11 Aug 2010 10:50:13 +0000 (12:50 +0200)]
Make sure we don't allow IUSE defaults in EAPIs that don't allow them
Sebastian Luther [Wed, 11 Aug 2010 10:29:35 +0000 (12:29 +0200)]
portage.dep.dep_check: Make sure we don't allow slot deps in EAPi-0 ebuilds
Sebastian Luther [Wed, 11 Aug 2010 08:35:07 +0000 (10:35 +0200)]
Use eapi_has_required_use for REQUIRED_USE eapi checks
Zac Medico [Wed, 11 Aug 2010 08:25:46 +0000 (01:25 -0700)]
Use explicit imports, to make pyflakes happy.
Sebastian Luther [Wed, 11 Aug 2010 08:11:58 +0000 (10:11 +0200)]
Introduce portage.eapi. Use it everywhere.
Sebastian Luther [Wed, 11 Aug 2010 07:18:49 +0000 (09:18 +0200)]
portage/dbapi/{bintree.py,porttree.py}: Remove deprecated stuff in all places
Sebastian Luther [Wed, 11 Aug 2010 07:15:43 +0000 (09:15 +0200)]
portage/cache/mappings.py: Remove deprecated functions
Sebastian Luther [Wed, 11 Aug 2010 07:13:39 +0000 (09:13 +0200)]
portage/dbapi/bintree.py: Remove deprecated parameter
Sebastian Luther [Wed, 11 Aug 2010 07:11:54 +0000 (09:11 +0200)]
portage/dbapi/porttree.py: Remove deprecated functions, deprecate more cases
Sebastian Luther [Wed, 11 Aug 2010 07:09:56 +0000 (09:09 +0200)]
portage/dbapi/vartree.py: Remove unused import
Sebastian Luther [Wed, 11 Aug 2010 07:09:03 +0000 (09:09 +0200)]
portage/dep/__init__.py: Remove deprecated behaviour
Sebastian Luther [Wed, 11 Aug 2010 07:01:28 +0000 (09:01 +0200)]
portage/eclass_cache.py: Remove deprecated parameter
Sebastian Luther [Wed, 11 Aug 2010 06:19:59 +0000 (08:19 +0200)]
portage/package/ebuild/config.py: Remove deprecated functions and parameters
Sebastian Luther [Wed, 11 Aug 2010 06:15:12 +0000 (08:15 +0200)]
portage/package/ebuild/digestgen: Remove deprecated behaviour
Sebastian Luther [Wed, 11 Aug 2010 06:05:41 +0000 (08:05 +0200)]
Remove the now empty pym/portage/_deprecated.py
Sebastian Luther [Wed, 11 Aug 2010 06:05:19 +0000 (08:05 +0200)]
Remove deprecated portage.pkgmerge
Sebastian Luther [Wed, 11 Aug 2010 06:02:41 +0000 (08:02 +0200)]
Remove deprecated portage.getvirtuals
Sebastian Luther [Wed, 11 Aug 2010 05:56:31 +0000 (07:56 +0200)]
Remove deprecated portage.dep_virtual
Sebastian Luther [Wed, 11 Aug 2010 05:54:25 +0000 (07:54 +0200)]
Remove deprecated portage.digestParseFile
Sebastian Luther [Wed, 11 Aug 2010 05:52:10 +0000 (07:52 +0200)]
Remove deprecated portage.commit_mtimedb
Zac Medico [Wed, 11 Aug 2010 06:47:38 +0000 (23:47 -0700)]
Make sure portageq doesn't interpret anything that happens to be
in globals() (such as imported modules) as a valid command.
Zac Medico [Wed, 11 Aug 2010 06:39:03 +0000 (23:39 -0700)]
* Configuration files now support atoms with wildcards inside the category and
package name parts of the atoms.
* The functionality of the autounmask program is emulated by the new emerge
--autounmask option, which outputs required configuration changes for
package.keywords and package.use.
Zac Medico [Wed, 11 Aug 2010 05:38:32 +0000 (22:38 -0700)]
Add stacklevel=2 to warnings.warn() calls.
Zac Medico [Wed, 11 Aug 2010 05:33:32 +0000 (22:33 -0700)]
Don't use deprecated paren_normalize() function.
Sebastian Luther [Wed, 11 Aug 2010 05:16:23 +0000 (07:16 +0200)]
Tests: Remove paren_reduce tests
Sebastian Luther [Wed, 11 Aug 2010 05:14:43 +0000 (07:14 +0200)]
Add deprecation warnings for paren_reduce, strip_empty and use_reduce with paren_reduce_d dep arrays
Sebastian Luther [Tue, 10 Aug 2010 22:00:01 +0000 (00:00 +0200)]
Tests: More portage,dep.Atom tests
Sebastian Luther [Tue, 10 Aug 2010 21:39:44 +0000 (23:39 +0200)]
portage.dep.dep_opconvert: remove handling of '&&' operator
Sebastian Luther [Tue, 10 Aug 2010 21:38:55 +0000 (23:38 +0200)]
Tests: Add tests for portage.dep.dep_opconvert
Sebastian Luther [Tue, 10 Aug 2010 21:29:16 +0000 (23:29 +0200)]
Tests: add dep/testStandalone. Test small functions here. Currently: cpvequal, flatten
Sebastian Luther [Tue, 10 Aug 2010 20:45:31 +0000 (22:45 +0200)]
portage.dep.use_reduce: pass is_src_uri when needed
Remove the now unneded _src_uri_validate.
Sebastian Luther [Tue, 10 Aug 2010 19:50:35 +0000 (21:50 +0200)]
portage.dep.use_reduce: Add is_src_uri and allow_src_uri_file_renames
All checks done by portage.dbapi.porttree._src_uri_validate are now done by use_reduce.
Sebastian Luther [Tue, 10 Aug 2010 19:23:25 +0000 (21:23 +0200)]
portage.dep._dep_check_strict: Unused, removed
Sebastian Luther [Tue, 10 Aug 2010 19:09:09 +0000 (21:09 +0200)]
portage.dep.use_reduce: Work on depstrings instead of paren_reduce'd dep arrays
This change makes paren_reduce and paren_normalize calls for use_reduce redundant,
resp. wrong. All consumers inside portage are adopted.