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.
Zac Medico [Wed, 8 Sep 2010 00:57:03 +0000 (17:57 -0700)]
Filter the FEATURES variable out of the environment between phases,
so that it always matches the latest value from the config class
and it can never be stale. With the ability to use package.env for
per-package FEATURES settings, there's no need for bashrc to make
persistent modifications to the FEATURES variable.
Zac Medico [Wed, 8 Sep 2010 00:19:41 +0000 (17:19 -0700)]
Use localization for the dos line-endings warning message in getconfig.
Zac Medico [Tue, 7 Sep 2010 23:56:49 +0000 (16:56 -0700)]
Move the stale elog cleanup code from AbstractEbuildProcess to
EbuildPhase.
Zac Medico [Tue, 7 Sep 2010 22:18:33 +0000 (15:18 -0700)]
Move the stale elog cleanup code from _doebuild_spawn() to
AbstractEbuildProcess._start() since that's a better place
if we decide to use phase_completed_file skip the spawning
of bash (dyn_unpack automatic clean/re-unpack logic could
be migrated here too).
Zac Medico [Tue, 7 Sep 2010 22:07:33 +0000 (15:07 -0700)]
Fix dyn_setup 'already setup' message to refer to setup instead of
prepare.
Zac Medico [Tue, 7 Sep 2010 22:01:22 +0000 (15:01 -0700)]
Bug #336349 - Make getconfig() warn about dos-style line endings in
config files, since that prevents people from being able to source
them with bash.
Zac Medico [Tue, 7 Sep 2010 21:21:33 +0000 (14:21 -0700)]
Fix broken $PORTAGE_BUILDDIR/.$EBUILD_PHASEed path generation inside
_doebuild_spawn().
Zac Medico [Tue, 7 Sep 2010 19:51:08 +0000 (12:51 -0700)]
Move stale elog cleanup code from ebuild.sh to _doebuild_spawn(), so
that elog messages generated by bashrc are preserved when appropriate.
Zac Medico [Tue, 7 Sep 2010 19:40:02 +0000 (12:40 -0700)]
Make the deprecation warning for the first pordbapi constructor
parameter quiet for now, to give people a wider migration window.
Zac Medico [Tue, 7 Sep 2010 19:26:50 +0000 (12:26 -0700)]
Fix confusing deprecation message for the first parameter of the
portdbapi constructor.
Zac Medico [Tue, 7 Sep 2010 18:24:28 +0000 (11:24 -0700)]
Bug #336338 - Document FEATURES=candy.
Zac Medico [Tue, 7 Sep 2010 15:53:56 +0000 (08:53 -0700)]
Bug #336356 - Fix AttributeError triggered when ebuild(1) invokes the
test phase.
Arfrever Frehtes Taifersar Arahesis [Tue, 7 Sep 2010 15:41:04 +0000 (08:41 -0700)]
Bug #336350 - Add back the is_selinux_enabled() function.
Zac Medico [Tue, 7 Sep 2010 08:31:13 +0000 (01:31 -0700)]
Add support for a exclude-files option to OwnerSet, and use it to
implement a new @x11-module-rebuild set.
Zac Medico [Tue, 7 Sep 2010 07:59:04 +0000 (00:59 -0700)]
Add a new package set called @unavailable-binaries which matches
packages that are installed for which corresponding binary packages
are not available.