Zac Medico [Sat, 18 Sep 2010 04:18:39 +0000 (21:18 -0700)]
Remove unused PORTAGE_MASTER_PID variable.
Zac Medico [Sat, 18 Sep 2010 03:57:06 +0000 (20:57 -0700)]
Add virtual/linux-sources to repoman's RDEPEND.suspect check.
http://archives.gentoo.org/gentoo-dev/msg_adb45dedc05bc023de23be90015e8629.xml
Zac Medico [Sat, 18 Sep 2010 02:08:42 +0000 (19:08 -0700)]
Don't unset PORTAGE_BUILDDIR in save_ebuild_env() since it's
readonly now.
Zac Medico [Sat, 18 Sep 2010 01:59:40 +0000 (18:59 -0700)]
Add PORTAGE_BUILDDIR to READONLY_PORTAGE_VARS since it's extremely
important now that ebuild-ipc relies on it.
Zac Medico [Sat, 18 Sep 2010 01:52:05 +0000 (18:52 -0700)]
Make EbuildIpcDaemon._input_handler() use a blanket exception
handler for pickle.loads() since that can raise practically
any exception when given corrupt data.
Zac Medico [Fri, 17 Sep 2010 22:01:04 +0000 (15:01 -0700)]
Update emerge --autounmask docs to indicate support for LICENSE
masks.
Fabian Groffen [Thu, 9 Sep 2010 15:42:51 +0000 (17:42 +0200)]
don't use EROOT or an upgrade of a package will result in the package being unmerged!
Fabian Groffen [Sun, 5 Sep 2010 20:12:23 +0000 (22:12 +0200)]
Do NOT use EROOT when merging files to the live filesystem! It inevitably makes double offsets occur
Sebastian Luther [Fri, 17 Sep 2010 12:50:19 +0000 (14:50 +0200)]
--autounmask: Support license changes
Zac Medico [Fri, 17 Sep 2010 11:21:38 +0000 (04:21 -0700)]
Bug #337540 - Record nested package set information in the digraph.
A new depgraph._expand_set_args() method adds nested SetArg instances
to the digraph, in order to record parent -> child relationships from
nested sets.
Zac Medico [Fri, 17 Sep 2010 02:42:46 +0000 (19:42 -0700)]
Move traversal of world_sets from calc_depclean() to
depgraph._complete_graph().
With this patch, nested set traversal is only used for removal
operations like --depclean and --prune. A later patch will introduce
similar traversal for all operations, in order to solve bug #337540.
Zac Medico [Thu, 16 Sep 2010 22:25:23 +0000 (15:25 -0700)]
Bug #337702 - Fix config.load_best_module() to raise ImportError from
the indentation block that caught it.
In python3, we get a "RuntimeError: No active exception to reraise"
exception if we try to call raise after completion of the indentation
block were the last exception was caught.
Zac Medico [Thu, 16 Sep 2010 17:15:21 +0000 (10:15 -0700)]
Fix misspelling of DependencyArg.__eq__() method.
Zac Medico [Thu, 16 Sep 2010 11:32:31 +0000 (04:32 -0700)]
Make Package __str__ and __unicode__ methods more like DependencyArg.
Zac Medico [Thu, 16 Sep 2010 11:09:06 +0000 (04:09 -0700)]
Make RepoDisplay __str__ and __unicode__ methods more like
DependencyArg.
Zac Medico [Thu, 16 Sep 2010 10:34:08 +0000 (03:34 -0700)]
Bug #337603 - Fix invalid '/etc/make.profile is not a symlink' message
displayed when /etc/portage/make.profile is perfectly valid.
Zac Medico [Thu, 16 Sep 2010 10:24:12 +0000 (03:24 -0700)]
Make EbuildPhase display "Package" and "Repository" instead of "CPV"
and "REPO" the the start of the build log.
Zac Medico [Thu, 16 Sep 2010 10:20:12 +0000 (03:20 -0700)]
Add missing noiselevel parameter to writemsg_stdout() call from previous
commit.
Zac Medico [Thu, 16 Sep 2010 10:18:44 +0000 (03:18 -0700)]
Make UseFlagDisplay __str__ and __unicode__ methods more like
DependencyArg, and add tests.
Zac Medico [Thu, 16 Sep 2010 08:24:44 +0000 (01:24 -0700)]
Update docompress helper docs from bug #260118, comment #26.
Zac Medico [Thu, 16 Sep 2010 03:01:21 +0000 (20:01 -0700)]
Make PortageException __str__ and __unicode__ methods more like
DependencyArg, and add tests.
Zac Medico [Thu, 16 Sep 2010 02:41:14 +0000 (19:41 -0700)]
Add tests for DependencyArg __str__ and __unicode__ methods.
Zac Medico [Thu, 16 Sep 2010 02:39:00 +0000 (19:39 -0700)]
Implement DependencyArg __equals__, __hash__, and __unicode__ methods.
Arfrever Frehtes Taifersar Arahesis [Wed, 15 Sep 2010 15:24:18 +0000 (17:24 +0200)]
Fix typo in comment.
Zac Medico [Wed, 15 Sep 2010 11:01:22 +0000 (04:01 -0700)]
Bug #337465 - Disable EbuildIpcDaemon on FreeBSD since it doesn't
work yet.
Zac Medico [Wed, 15 Sep 2010 08:21:21 +0000 (01:21 -0700)]
Tweak stack_lists() strict_warn_for_unmatched_removal logic.
Zac Medico [Wed, 15 Sep 2010 07:27:09 +0000 (00:27 -0700)]
Bug #337180 - Add a --unmatched-removal option for stricter checking
of package.mask and package.unmask files for unmatched removal atoms.
Zac Medico [Wed, 15 Sep 2010 06:52:16 +0000 (23:52 -0700)]
Bug #337180 - Add a strict_warn_for_unmatched_removal parameter for
stack_lists() that will be useful for repoman, and disable it by default.
Sebastian Luther [Wed, 15 Sep 2010 06:29:10 +0000 (08:29 +0200)]
Limit the spam caused by unmatched removal atoms
Zac Medico [Wed, 15 Sep 2010 06:32:43 +0000 (23:32 -0700)]
In Package._validate_deps(), force unicode format string in
check_required_use() exception handling (for python-2.x safety).
Zac Medico [Wed, 15 Sep 2010 05:22:15 +0000 (22:22 -0700)]
Make Package._metadata_exception() use unicode format strings in order
to avoid UnicodeDecodeError in python-2.x.
This issue was reported in forum thread
http://forums.gentoo.org/viewtopic-t-844623.html where the following
traceback was posted:
File "/usr/lib/portage/pym/_emerge/FakeVartree.py", line 195, in _pkg
type_name="installed")
File "/usr/lib/portage/pym/_emerge/Package.py", line 64, in __init__
self._validate_deps()
File "/usr/lib/portage/pym/_emerge/Package.py", line 93, in _validate_deps
self._metadata_exception(k, e)
File "/usr/lib/portage/pym/_emerge/Package.py", line 242, in _metadata_exception
"%s: %s in '%s'" % (k, e, path))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 22: ordinal not in range(128)
Zac Medico [Wed, 15 Sep 2010 03:38:38 +0000 (20:38 -0700)]
Bug #336692 - When stack_lists() detects unmatched removal atoms,
account for cases in which the same profile is inherited multiple times
in the same stack.
Sebastian Luther [Tue, 14 Sep 2010 18:57:37 +0000 (20:57 +0200)]
Tests: test isvalidatom ::repo syntax support
Sebastian Luther [Tue, 14 Sep 2010 18:45:55 +0000 (20:45 +0200)]
ResolverPlayground: Add multi repo support
Sebastian Luther [Tue, 14 Sep 2010 18:34:10 +0000 (20:34 +0200)]
Add :.repo syntax support for portage.util.{grabfile_package,grabdict_package}
Sebastian Luther [Tue, 14 Sep 2010 18:26:17 +0000 (20:26 +0200)]
portage.dep: Add support for ::repo syntax to all functions and classes
This also adds the dep_getrepo() function
Zac Medico [Wed, 15 Sep 2010 00:20:08 +0000 (17:20 -0700)]
In doebuild(), skip PORTAGE_BUILDDIR locking if it's already locked
or returnpid is True.
Zac Medico [Tue, 14 Sep 2010 23:40:13 +0000 (16:40 -0700)]
Make IpcDaemonTestCase use a finally block to unlock PORTAGE_BUILDDIR.
Zac Medico [Tue, 14 Sep 2010 22:53:39 +0000 (15:53 -0700)]
Make ebuild-ipc.py close the output_file before trying to re-open it
after it has timed out.
Zac Medico [Tue, 14 Sep 2010 22:20:48 +0000 (15:20 -0700)]
Bug #336433 - Don't filter the DCCC_PATH variable from environment since
that breaks distcc ebuilds.
Zac Medico [Tue, 14 Sep 2010 21:25:49 +0000 (14:25 -0700)]
Only initialize Package.inherited to an empty set when it is None.
Zac Medico [Tue, 14 Sep 2010 16:36:45 +0000 (09:36 -0700)]
Ensure that Package.inherited is always initialized, even if there is no
INHERITED metadata available (like for binary packages).
Ulrich Mueller [Tue, 14 Sep 2010 16:27:52 +0000 (18:27 +0200)]
Add option -s to docompress command.
Zac Medico [Tue, 14 Sep 2010 16:00:42 +0000 (09:00 -0700)]
Make EbuildBuildDir.unlock() use an asynchronous lock when locking the
category directory for removal.
Zac Medico [Tue, 14 Sep 2010 15:08:51 +0000 (08:08 -0700)]
Revert "Remove ebuild-helpers/preplib (bug 102297)"
This reverts commit
811689f349a91b44448bc8e294903abf990eac45. The preplib
helper is still used by at least by stable sys-libs/lib-compat ebuilds.
Zac Medico [Tue, 14 Sep 2010 14:49:30 +0000 (07:49 -0700)]
Make EbuildBuildDir use the PORTAGE_BUILDDIR variable instead of the
dir_path attribute.
Zac Medico [Tue, 14 Sep 2010 14:37:11 +0000 (07:37 -0700)]
Make Binpkg call doebuild_environment() before constructing
EbuildBuildDir, so PORTAGE_BUILDDIR is initialized first.
Arfrever Frehtes Taifersar Arahesis [Tue, 14 Sep 2010 13:09:08 +0000 (15:09 +0200)]
Fix some typos.
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).