Zac Medico [Tue, 14 Sep 2010 09:37:02 +0000 (02:37 -0700)]
Don't export PORTAGE_BUILDIR_LOCKED to the ebuild environment.
Zac Medico [Tue, 14 Sep 2010 09:14:48 +0000 (02:14 -0700)]
Add a config.pkeywordsdict property for backward compatibility.
Zac Medico [Tue, 14 Sep 2010 09:09:51 +0000 (02:09 -0700)]
In KeywordsManager.pkeywordsdict save values as tuples instead of lists.
Sebastian Luther [Tue, 14 Sep 2010 08:41:33 +0000 (10:41 +0200)]
config: Add KeywordsManager
Zac Medico [Tue, 14 Sep 2010 08:22:55 +0000 (01:22 -0700)]
Make ebuild-ipc timeout messages show which operation timed out.
Zac Medico [Tue, 14 Sep 2010 08:08:41 +0000 (01:08 -0700)]
Bug #336142 - Make ebuild-ipc.py keep trying to communicate indefinitely,
as long as $PORTAGE_BUILDDIR is locked.
Zac Medico [Tue, 14 Sep 2010 07:32:43 +0000 (00:32 -0700)]
Make IpcDaemonTestCase use EbuildBuildDir for lock creation.
Zac Medico [Tue, 14 Sep 2010 05:49:03 +0000 (22:49 -0700)]
Make AbstractEbuildProcess lock PORTAGE_BUILDIR if it's not already
locked.
Zac Medico [Tue, 14 Sep 2010 05:17:48 +0000 (22:17 -0700)]
Bug #336142 - Use EbuildBuildDir for threaded locking of PORTAGE_BUILDDIR
inside dblink.unmerge(), so that the scheduler can concurrently service
ipc calls in the main thread.
Zac Medico [Tue, 14 Sep 2010 05:02:57 +0000 (22:02 -0700)]
Use EbuildBuildDir for PORTAGE_BUILDDIR locking inside doebuild().
Zac Medico [Tue, 14 Sep 2010 04:53:29 +0000 (21:53 -0700)]
Make EbuildBuild call doebuild_environment() so that EbuildBuildDir
doesn't need to.
Zac Medico [Tue, 14 Sep 2010 03:01:16 +0000 (20:01 -0700)]
Bug #336142 - Add support for using a thread to wait for locks inside
EbuildBuildDir.lock() so that the scheduler can concurrently service ipc
calls in the main thread.
Zac Medico [Tue, 14 Sep 2010 02:48:18 +0000 (19:48 -0700)]
Make dblink.lockdb() use AsynchronousLock.
Zac Medico [Tue, 14 Sep 2010 02:25:58 +0000 (19:25 -0700)]
Add a new AsynchronousLock class that uses the portage.locks module to
acquire a lock asynchronously, using a background thread.
Zac Medico [Tue, 14 Sep 2010 00:05:16 +0000 (17:05 -0700)]
Make config.setinst() and get_virts_p() call getvirtuals() in order
to ensure that we don't trigger the _treeVirtuals assertion in
VirtualsManager._compile_virtuals().
Zac Medico [Mon, 13 Sep 2010 23:43:39 +0000 (16:43 -0700)]
In depgraph._load_vdb(), after calling FakeVartree.sync(), update
self._frozen_config.pkgsettings so that it has populated virtuals.
This solves allows us to avoid triggering an AssertionError reported
at http://forums.gentoo.org/viewtopic-t-844519.html with the following
traceback:
Calculating dependencies... done!
Traceback (most recent call last):
File "/usr/bin/emerge", line 43, in <module>
retval = emerge_main()
File "/usr/lib/portage/pym/_emerge/main.py", line 1683, in emerge_main
myopts, myaction, myfiles, spinner)
File "/usr/lib/portage/pym/_emerge/actions.py", line 204, in action_build
settings, trees, mtimedb, myopts, myparams, spinner)
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 6047, in resume_depgraph
myparams, spinner)
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 6070, in _resume_depgraph
skip_masked=skip_masked)
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 5617, in _loadResumeCommand
if not self._add_pkg(task, None):
File "/usr/lib/portage/pym/_emerge/depgraph.py", line 893, in _add_pkg
pkgsettings.setinst(pkg.cpv, pkg.metadata)
File "/usr/lib/portage/pym/portage/package/ebuild/config.py", line 1757, in setinst
self._virtuals_manager.add_depgraph_virtuals(mycpv, virts)
File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 199, in add_depgraph_virtuals
self.getvirtuals()
File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 156, in getvirtuals
self._compile_virtuals()
File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 131, in _compile_virtuals
"any query about virtuals"
AssertionError: _populate_treeVirtuals() must be called before any query about virtuals
Sebastian Luther [Mon, 13 Sep 2010 17:06:27 +0000 (19:06 +0200)]
Tests: Add use_reduce test case for bug 120374
Sebastian Luther [Mon, 13 Sep 2010 16:46:32 +0000 (18:46 +0200)]
Remove ebuild-helpers/preplib (bug 102297)
Sebastian Luther [Mon, 13 Sep 2010 14:52:57 +0000 (16:52 +0200)]
Tests: Add resolver/test_missing_iuse_and_evaluated_atoms to make sure we don't miss a "missing IUSE"
Sebastian Luther [Mon, 13 Sep 2010 13:25:57 +0000 (15:25 +0200)]
Don't miss a "missing IUSE" because of [foo?] -> [] evaluations.
This patch also drops flags with EAPI 4 use dep defaults from use.required.
Zac Medico [Mon, 13 Sep 2010 08:33:54 +0000 (01:33 -0700)]
Bug #336142 - When looking of packages that own files for file collisions
inside dblink.treewalk(), periodically yield to the scheduler so that
it can service ipc calls.
Sebastian Luther [Mon, 13 Sep 2010 07:25:55 +0000 (09:25 +0200)]
Make sure atoms in profiles follow the profiles EAPI
Zac Medico [Mon, 13 Sep 2010 07:36:20 +0000 (00:36 -0700)]
Bug #336873 - Add a leading comma when matching --hash-style=gnu
in LDFLAGS, in order to try and filter out invalid settings.
Zac Medico [Mon, 13 Sep 2010 07:23:34 +0000 (00:23 -0700)]
Bug #336142 - Add support for using a thread to wait for locks inside
dblink.lockdb() so that the scheduler can concurrently service ipc
calls in the main thread.
Zac Medico [Mon, 13 Sep 2010 07:16:07 +0000 (00:16 -0700)]
Add a 'condition' keyword argument to PollScheduler._schedule_wait()
which is a callable that should return True when it is desirable for
the _schedule_wait() method to return.
Zac Medico [Mon, 13 Sep 2010 02:49:29 +0000 (19:49 -0700)]
Bug #337031 - Don't make "always overflow destination buffers" gcc
warnings fatal for now.
Zac Medico [Mon, 13 Sep 2010 02:25:06 +0000 (19:25 -0700)]
Bug #336142 - Use a longer timeout for ebuild-ipc, in case the system is
heavily loaded.
Zac Medico [Sun, 12 Sep 2010 21:37:14 +0000 (14:37 -0700)]
Bug #336875 - Don't reference errno.ETIME since it's undefined on FreeBSD.
Zac Medico [Sat, 11 Sep 2010 19:48:44 +0000 (12:48 -0700)]
When fetching distfiles inside digestgen(), ignore conditional parts
of RESTRICT since they don't apply unconditionally. Assume such
conditionals only apply on the client side where digestgen() does not
need to be called.
Zac Medico [Sat, 11 Sep 2010 19:45:20 +0000 (12:45 -0700)]
For digestgen(), add a matchnone parameter to use_reduce() that is the
opposite of matchall.
Zac Medico [Sat, 11 Sep 2010 19:18:03 +0000 (12:18 -0700)]
Fix digestgen() to respect RESTRICT=fetch.
Zac Medico [Sat, 11 Sep 2010 18:06:32 +0000 (11:06 -0700)]
Make spawn_nofetch() call elog_process().
Zac Medico [Sat, 11 Sep 2010 17:53:43 +0000 (10:53 -0700)]
Make the mail_summary elog module copy needed variables from the config
instance, since we don't need to hold a reference for the whole thing.
This also makes it possible to rely on per-package variable settings that
may have come from /etc/portage/package.env, since we'll be isolated from
any future mutations of mysettings.
Zac Medico [Sat, 11 Sep 2010 04:36:23 +0000 (21:36 -0700)]
Fix typo in comment.
Zac Medico [Sat, 11 Sep 2010 04:23:56 +0000 (21:23 -0700)]
Make digestgen() use spawn_nofetch() when necessary, since fetch()
no longer does it.
Zac Medico [Sat, 11 Sep 2010 04:06:42 +0000 (21:06 -0700)]
Fix typo in comment.
Zac Medico [Sat, 11 Sep 2010 03:48:49 +0000 (20:48 -0700)]
Since pkg_nofetch is no longer called from fetch(), add a new
spawn_nofetch() support for doebuild() and other fetch() callers
to use.
Zac Medico [Sat, 11 Sep 2010 01:52:56 +0000 (18:52 -0700)]
In doebuild(), don't trigger prepare_build_dirs() for the fetch phase
with RESTRICT=fetch since fetch() doesn't call pkg_nofetch anymore.
Zac Medico [Sat, 11 Sep 2010 01:39:42 +0000 (18:39 -0700)]
Remove pkg_nofetch code from the fetch() function since it's currently broken (doebuild_environment raises TypeError due to missing mydbapi parameter) and this is a poor place to spawn pkg_nofetch anyway, especially given that the caller does not even pass in a portdbapi instance. For now, relocate the pkg_nofetch execution to EbuildBuild so that it works for emerge. TODO: Add pkg_nofetch support to fetch() callers where appropriate.
Arfrever Frehtes Taifersar Arahesis [Fri, 10 Sep 2010 23:22:59 +0000 (01:22 +0200)]
Fix typos in comments.
Sebastian Luther [Fri, 10 Sep 2010 20:23:33 +0000 (22:23 +0200)]
config: Handle -atoms properly
Before this change -atoms could leak out of the place where they were defined.
Different repos could influence their profile/package.mask.
Profiles could influence profile/package.mask.
Note that the latter is not desirable because other than normal atoms, -atoms
have to exactly match the atom they remove. Because of this, the place specifying
the -atom has to now which atoms exists, which can only be the case if it (or in case
of a profiles, a parent profile) defines it.
Sebastian Luther [Fri, 10 Sep 2010 20:20:25 +0000 (22:20 +0200)]
portage.util: Add optional remember_source_file parameter to some functions to make them return (token, file) pairs
This is useful to name the token's source file in error messages.
stack_lists has another new optional parameter: warn_for_unmatched_removal, which
warns for -atoms that don't remove anything.
Sebastian Luther [Fri, 10 Sep 2010 20:19:02 +0000 (22:19 +0200)]
config/p.mask: config from other repos than PORTDIR comes before profiles (like PORTDIR)
Sebastian Luther [Fri, 10 Sep 2010 20:18:21 +0000 (22:18 +0200)]
Tests: ebuild/test_config: Make sure -atoms in package.mask work as PMS wants it
Sebastian Luther [Fri, 10 Sep 2010 20:14:59 +0000 (22:14 +0200)]
ResolverPlayground: Add ability to create a basic profile and repo config
Zac Medico [Fri, 10 Sep 2010 19:08:50 +0000 (12:08 -0700)]
Bug #273282 - Make install_qa_check() eqawarn about installation into
these deprecated directories:
etc/app-defaults usr/man usr/info usr/X11R6 usr/doc usr/locale
Zac Medico [Fri, 10 Sep 2010 18:25:03 +0000 (11:25 -0700)]
Remove redundant elog_process() call in EbuildBuild._fetch_exit().
Zac Medico [Fri, 10 Sep 2010 18:11:35 +0000 (11:11 -0700)]
Fix the "alway overflow" eerror message to not use the message
intended for "implicit pointer".
Zac Medico [Fri, 10 Sep 2010 18:02:13 +0000 (11:02 -0700)]
Make the "always overflow" gcc warning code use a separate variable
from the "implicit pointer" code in install_qa_check(), so they
don't interfere.
Zac Medico [Fri, 10 Sep 2010 17:47:47 +0000 (10:47 -0700)]
Remove redundant local retval declaration in has_version().
Zac Medico [Fri, 10 Sep 2010 17:32:04 +0000 (10:32 -0700)]
Ensure that depgraph._show_unsatisfied_dep() doesn't suggest changes
to masked or forced USE flags.
Zac Medico [Fri, 10 Sep 2010 16:22:44 +0000 (09:22 -0700)]
In depgraph._show_unsatisfied_dep(), if the child package is masked then a
change to parent USE is not a valid solution (a normal mask message should
be displayed instead).
Zac Medico [Fri, 10 Sep 2010 14:51:22 +0000 (07:51 -0700)]
Bug #336595 - Make dbapi.update_ents() calls quiet when appropriate in
_global_updates().
Sebastian Luther [Fri, 10 Sep 2010 10:18:53 +0000 (12:18 +0200)]
global updates: Honor -q and don't repeat the legend
Zac Medico [Fri, 10 Sep 2010 07:26:25 +0000 (00:26 -0700)]
Make ebuild-ipc.py suppress IOError just like it does for EOFError
when the buffer is non-empty.
Zac Medico [Fri, 10 Sep 2010 07:14:03 +0000 (00:14 -0700)]
Make ebuild-ipc.py handle exceptions from pickle.loads().
Zac Medico [Fri, 10 Sep 2010 07:08:39 +0000 (00:08 -0700)]
Make ebuild-ipc.py display EOFError if no data is read from the
pipe.
Zac Medico [Fri, 10 Sep 2010 06:57:29 +0000 (23:57 -0700)]
Eliminate redunant elog_process() call in EbuildBuild._fetch_exit()
which fetch has failed, since _unlock_builddir() will handle it
later.
Zac Medico [Fri, 10 Sep 2010 06:09:34 +0000 (23:09 -0700)]
Add missing comma in tuple.
Zac Medico [Fri, 10 Sep 2010 05:47:56 +0000 (22:47 -0700)]
Bug #267103 - In action_build(), check for config file updates in
/etc/portage and warn if necessary.
Zac Medico [Fri, 10 Sep 2010 05:34:34 +0000 (22:34 -0700)]
Make the "warning: call to .* will always overflow destination buffer"
gcc warning fatal. Thanks to Diego Pettenò <flameeyes@g.o> for the
suggestion.
Zac Medico [Fri, 10 Sep 2010 04:51:37 +0000 (21:51 -0700)]
Bug #336644 - Make ebuild-ipc.py use array.fromfile() to read pickles
in single atomic non-blocking read() calls, similar to how
AbstractPollTask._read_buf() does it. If the read fails, exit with
status 2 so that best_version() and has_version() can detect the
error and die when necessary.
Zac Medico [Fri, 10 Sep 2010 03:49:50 +0000 (20:49 -0700)]
Bug #336644 - Make EbuildIpcDaemon use AbstractPollTask._read_buf(),
for better handling of errors like "IOError: [Errno 11] Resource
temporarily unavailable". TODO: Apply a similar fix to ebuild-ipc.py.
Zac Medico [Fri, 10 Sep 2010 03:05:19 +0000 (20:05 -0700)]
Split out a AbstractPollTask._read_buf() helper method.
Zac Medico [Fri, 10 Sep 2010 01:02:41 +0000 (18:02 -0700)]
Use EROOT in chk_updated_cfg_files() calls.
Zac Medico [Thu, 9 Sep 2010 23:47:45 +0000 (16:47 -0700)]
Bug #336499 - If RESTRICT=fetch is not set but pkg_nofetch is defined,
go ahead and run pkg_nofetch upon fetch failure. This allows specialized
messages to be displayed for problematic packages.
Zac Medico [Thu, 9 Sep 2010 23:41:01 +0000 (16:41 -0700)]
Make Package.metadata.defined_phases return all possible phases when
DEFINED_PHASES is undefined. This makes it easy to do containment
checks to see if it's safe to skip execution of a given phase.
Zac Medico [Thu, 9 Sep 2010 23:24:29 +0000 (16:24 -0700)]
In EbuildBuild._pre_clean_exit() is _default_exit instead of
_final_exit where appropriate.
Zac Medico [Thu, 9 Sep 2010 22:49:59 +0000 (15:49 -0700)]
Bug #336651 - Fix Scheduler._restart_if_necessary() to correctly
handle arguments like --exclude that are stored as a list since
they use the 'append' action.
Zac Medico [Thu, 9 Sep 2010 17:13:23 +0000 (10:13 -0700)]
Combine prefetch conditionals in EbuildFetcher.
Zac Medico [Thu, 9 Sep 2010 17:09:39 +0000 (10:09 -0700)]
Make EbuildFetcher always disable color in prefetch mode, since
prefetch output always goes to a log.
Zac Medico [Thu, 9 Sep 2010 16:34:49 +0000 (09:34 -0700)]
In update_config_files(), add a comment line showing a package move
that has been applied. This is intended to reduce the risk given
that /etc/portage is in CONFIG_PROTECT_MASK, as discussed in bug
Zac Medico [Thu, 9 Sep 2010 14:21:58 +0000 (07:21 -0700)]
Update --autounmask docs to note that it generates package.use settings.
Sebastian Luther [Thu, 9 Sep 2010 11:25:23 +0000 (13:25 +0200)]
repoman: Add "x-modular": "xorg-2" to InheritDeprecated check as requested by scarabeus (bug 326747, comment 6)
Zac Medico [Thu, 9 Sep 2010 11:34:13 +0000 (04:34 -0700)]
Import ifilterfalse as filterfalse, for python3 compatibility.
Sebastian Luther [Thu, 9 Sep 2010 09:15:04 +0000 (11:15 +0200)]
maintainer-info: Don't print 'no-herd' and don't print anything twice (bug 336550)
Sebastian Luther [Thu, 9 Sep 2010 09:13:08 +0000 (11:13 +0200)]
Add portage.util.unique_everseen
List unique elements, preserving order. Remember all elements ever seen.
Taken from itertools documentation.
Zac Medico [Thu, 9 Sep 2010 04:05:32 +0000 (21:05 -0700)]
Make action_info() validate PORTAGE_TMPDIR since it uses it to solve
bug #336503.
Zac Medico [Thu, 9 Sep 2010 03:47:34 +0000 (20:47 -0700)]
Bug #336503 - Use PORTAGE_TMPDIR for the emerge --sync server timestamp
tempfile, since with FEATURES=usersync, the default directory used by
the tempfile module may not be readbable by the usersync user.
Zac Medico [Wed, 8 Sep 2010 21:21:26 +0000 (14:21 -0700)]
Use a longer dependency chain in DepcleanWithDepsTestCase, to make
sure unmerge order is correct.
Zac Medico [Wed, 8 Sep 2010 21:15:27 +0000 (14:15 -0700)]
Use RDEPEND for depclean tests since DEPEND is less relevant.
Zac Medico [Wed, 8 Sep 2010 21:00:55 +0000 (14:00 -0700)]
Make ResolverPlayground.run() use try/finally when saving/restoring
global variable settings.
Zac Medico [Wed, 8 Sep 2010 20:35:16 +0000 (13:35 -0700)]
Fix dep_zapdeps() to handle satisfied or optional builttime deps
appropriately.
Zac Medico [Wed, 8 Sep 2010 20:34:30 +0000 (13:34 -0700)]
Make UnmergeDepPriority automatically set optional=True for
buildtime dependencies.
Zac Medico [Wed, 8 Sep 2010 20:24:49 +0000 (13:24 -0700)]
Fix broken dep_check() call in calc_depclean() to use
depgraph._select_atoms() instead.
Arfrever Frehtes Taifersar Arahesis [Wed, 8 Sep 2010 20:09:28 +0000 (22:09 +0200)]
Fix typo in comment.
Zac Medico [Wed, 8 Sep 2010 19:58:53 +0000 (12:58 -0700)]
Adjust DepcleanWithInstalledMaskedTestCase now that bug #332719
is fixed.
Zac Medico [Wed, 8 Sep 2010 19:53:58 +0000 (12:53 -0700)]
Bug #332719 - For removal operations, use _dep_check_composite_db
for availability and visibilty checks. This provides consistency
with install operations, so we don't get install/uninstall cycles.
Zac Medico [Wed, 8 Sep 2010 18:54:26 +0000 (11:54 -0700)]
Add a note about PORTAGE_PYM_PATH in LazyImportPortageBaselineTestCase.
Zac Medico [Wed, 8 Sep 2010 18:45:11 +0000 (11:45 -0700)]
Omit PYTHONPATH setting in runtests.sh since this should be handled
internally by pym/portage/tests/runTests.
Zac Medico [Wed, 8 Sep 2010 18:38:48 +0000 (11:38 -0700)]
Make LazyImportPortageBaselineTestCase do a sys.path insert since
PYTHONPATH apparently isn't strong enough to fix the buildbot.
Zac Medico [Wed, 8 Sep 2010 18:20:09 +0000 (11:20 -0700)]
Fix LazyImportPortageBaselineTestCase to export PYTHONPATH to the
subprocess, to ensure that the correct version of portage is
imported. This should fix failures on the buildbot.
Michał Górny [Wed, 8 Sep 2010 17:51:31 +0000 (19:51 +0200)]
Remove newlib from ebuild(5) as it does not exist.
Zac Medico [Wed, 8 Sep 2010 17:31:22 +0000 (10:31 -0700)]
Make previous commit reference self._depgraph._pkg_visibility_check().
Zac Medico [Wed, 8 Sep 2010 17:14:36 +0000 (10:14 -0700)]
In depgraph._dep_check_composite_db._visible(), wrap installed package
visiblity checks with self._pkg_visibility_check().
Zac Medico [Wed, 8 Sep 2010 15:39:47 +0000 (08:39 -0700)]
Adjust OwnersSet configurations to omit $EROOT since, and add a
note about OwnersSet.mapPathsToAtoms() behavior in the docstring.
Sebastian Luther [Wed, 8 Sep 2010 09:24:35 +0000 (11:24 +0200)]
Tests: Add resolver/test_depclean
Arfrever Frehtes Taifersar Arahesis [Wed, 8 Sep 2010 14:01:42 +0000 (16:01 +0200)]
Mark some messages for localization.
Zac Medico [Wed, 8 Sep 2010 01:57:26 +0000 (18:57 -0700)]
Add another _ENABLE_DYN_LINK_MAP conditional in parse_opts().
Zac Medico [Wed, 8 Sep 2010 01:48:41 +0000 (18:48 -0700)]
Disable the --depclean-lib-check option when _ENABLE_DYN_LINK_MAP
is False.