Zac Medico [Wed, 22 Sep 2010 02:56:29 +0000 (19:56 -0700)]
In EbuildIpc._receive_reply(), close the input_file when finished.
Zac Medico [Wed, 22 Sep 2010 02:54:29 +0000 (19:54 -0700)]
In EbuildIpc._wait(), use waitpid() instead of wait() since we really
only need to wait on one process.
Zac Medico [Wed, 22 Sep 2010 02:30:58 +0000 (19:30 -0700)]
Bug #337465 - Make ebuild-ipc use an array in order to force a
single atomic read of a whole pickle.
Zac Medico [Tue, 21 Sep 2010 21:18:25 +0000 (14:18 -0700)]
Bug #337465 - Disable EbuildIpcDaemon on Darwin and FreeBSD since
it reportedly triggers a tight loop in emerge.
This reverts commit
6085103bdd7623d941e3c6ae5905e66658c49fd7.
Zac Medico [Tue, 21 Sep 2010 18:40:25 +0000 (11:40 -0700)]
Make ebuild-ipc use select() for timeouts, instead of alarm signals.
Zac Medico [Tue, 21 Sep 2010 18:26:27 +0000 (11:26 -0700)]
Bug #338267 - Fix broken PORTAGE_BUILDDIR assertion in Binpkg when
PORTAGE_TMPDIR is a symlink.
Zac Medico [Tue, 21 Sep 2010 15:41:54 +0000 (08:41 -0700)]
Bug #338190 - Handle more exceptions inside getbinpkg.dir_get_metadata().
The ftplib.all_errors attribute is a useful collection of exceptions
to handle here. Thanks to Christian Kauhaus <kc@gocept.com> for the
suggestion.
Zac Medico [Tue, 21 Sep 2010 10:02:55 +0000 (03:02 -0700)]
Fix ConfigTestCase.testLicenseManager() breakage from from previous
commit.
Zac Medico [Tue, 21 Sep 2010 09:13:11 +0000 (02:13 -0700)]
Bug #300455 - Store LicenseManager._license_groups values as frozenset
in order to avoid false warnings about circular group references.
Sebastian Luther [Tue, 21 Sep 2010 06:41:39 +0000 (08:41 +0200)]
reposyntax: Add support in _sets/base.py
Zac Medico [Tue, 21 Sep 2010 03:10:12 +0000 (20:10 -0700)]
Fix default() and default_src_install() definitions to account for
the new EAPI 4 default src_install implementation.
Zac Medico [Tue, 21 Sep 2010 02:15:36 +0000 (19:15 -0700)]
Make ebuild-ipc use a normal read() call instead of array.fromfile()
since that should work fine for blocking IO.
Zac Medico [Tue, 21 Sep 2010 02:07:22 +0000 (19:07 -0700)]
Remove obsolete comment about non-blocking from
EbuildIpcDaemon._send_reply() since ebuild-ipc now uses blocking IO.
Zac Medico [Tue, 21 Sep 2010 01:43:10 +0000 (18:43 -0700)]
Make ebuild-ipc kill the child IO process before it exits due to timeout.
Zac Medico [Tue, 21 Sep 2010 01:17:23 +0000 (18:17 -0700)]
Fix ebuild-ipc to correctly handle non-zero return codes from
has_version ipc calls.
Zac Medico [Tue, 21 Sep 2010 01:06:56 +0000 (18:06 -0700)]
Rewrite ebuild-ipc timeout handling to use forks.
Use forks so that the child process can handle blocking IO
un-interrupted, while the parent handles all timeout
considerations. This helps to avoid possible race conditions
from interference between timeouts and blocking IO operations.
Zac Medico [Mon, 20 Sep 2010 23:36:06 +0000 (16:36 -0700)]
Remove obsolete docstring from _RepoDisplay.__str__().
Zac Medico [Mon, 20 Sep 2010 23:34:08 +0000 (16:34 -0700)]
Make ebuild-ipc show an additional 'read failed' message if the buffer
happens to be empty after the read loop.
Zac Medico [Mon, 20 Sep 2010 23:24:38 +0000 (16:24 -0700)]
If ebuild-ipc times out during read, check if the read buffer is
non-empty in order to try to avoid a possible race condition.
Sebastian Luther [Mon, 20 Sep 2010 11:29:42 +0000 (13:29 +0200)]
Tests: add resolver/test_output: Make sure we don't backtrace in the merge list printer
Sebastian Luther [Mon, 20 Sep 2010 10:50:23 +0000 (12:50 +0200)]
Move mergelist printing into resolver/output.py
Zac Medico [Mon, 20 Sep 2010 07:36:12 +0000 (00:36 -0700)]
Use git rev-list --format option to simplify _LazyVersion committer
timestamp code.
Zac Medico [Mon, 20 Sep 2010 07:20:57 +0000 (00:20 -0700)]
Revert "Update docompress helper docs from bug #260118, comment #26."
This reverts commit
50b39d4bbd4b0ca8d65f22793a044119a391f36f.
Ulrich Mueller [Mon, 20 Sep 2010 07:13:11 +0000 (09:13 +0200)]
Revert "Add option -s to docompress command."
This reverts commit
f2375609adc80ebe5395d84902af4045ecea2f73.
Sebastian Luther [Mon, 20 Sep 2010 06:25:37 +0000 (08:25 +0200)]
Always mask the higher version when backtracking due to a slot conflict
Zac Medico [Mon, 20 Sep 2010 02:58:29 +0000 (19:58 -0700)]
With waitpid and WNOHANG, only check the first element of the tuple
since the second element may vary (bug #337465, comment #12).
Zac Medico [Mon, 20 Sep 2010 00:55:27 +0000 (17:55 -0700)]
Optimize ResolverPlayground._create_ebuild_manifests() to use a single
config instance, and call digestgen() directly.
Zac Medico [Sun, 19 Sep 2010 23:33:03 +0000 (16:33 -0700)]
Bug #338002 - Make _LazyVersion format portage.VERSION so that it is
a valid version.
Zac Medico [Sun, 19 Sep 2010 22:42:08 +0000 (15:42 -0700)]
Bug #337465 - Enable EbuildIpcDaemon on Darwin and FreeBSD since it
seems fixed since commit
81fc303212b8379219cf5d463c8717359b972dba.
Zac Medico [Sun, 19 Sep 2010 21:50:51 +0000 (14:50 -0700)]
Make repoman tolerate errors from utime() when fetching metadata.dtd.
Sebastian Luther [Sun, 19 Sep 2010 18:13:41 +0000 (20:13 +0200)]
slot collision handler: Fix bug in atom pretty printer for =* atoms
Zac Medico [Sun, 19 Sep 2010 11:13:50 +0000 (04:13 -0700)]
Fix depgraph._complete_graph() to preserve initial_arg_list when it
updates args with _set_args().
Zac Medico [Sun, 19 Sep 2010 06:23:27 +0000 (23:23 -0700)]
Fix incorrect depgraph_sets reference in depgraph._load_favorites().
Zac Medico [Sun, 19 Sep 2010 06:01:26 +0000 (23:01 -0700)]
Invert SetArg conditional in depgraph._set_args(), for clarity.
Zac Medico [Sun, 19 Sep 2010 00:33:17 +0000 (17:33 -0700)]
Add multiple $ROOT support to depgraph._iter_atoms_for_pkg().
Zac Medico [Sat, 18 Sep 2010 23:36:23 +0000 (16:36 -0700)]
Add digraph --debug output in calc_depclean() for the case when
it bails out due to unresolved dependencies.
Zac Medico [Sat, 18 Sep 2010 14:47:59 +0000 (07:47 -0700)]
Fix ebuild-ipc.py to timeout if necessary when opening input_file
in blocking mode.
Zac Medico [Sat, 18 Sep 2010 12:25:33 +0000 (05:25 -0700)]
Fix breakage in population of dynamic_config._set_atoms since the
fix from bug #337540.
Zac Medico [Sat, 18 Sep 2010 11:58:40 +0000 (04:58 -0700)]
Use blocking IO in ebuild-ipc.py and EbuildIpcDaemon._send_reply(),
in hopes that it will be more portable (see bug #337465).
Zac Medico [Sat, 18 Sep 2010 11:24:31 +0000 (04:24 -0700)]
Disable EbuildIpcDaemon for Darwin (similar issues to FreeBSD).
Zac Medico [Sat, 18 Sep 2010 11:12:34 +0000 (04:12 -0700)]
Fix lockfile() to close the file descriptor before raising TryAgain.
Zac Medico [Sat, 18 Sep 2010 10:48:53 +0000 (03:48 -0700)]
Fix the "Unmatch removal atoms" (second try) to show the correct
number of undisplayed atoms when there are more than 3.
Fabian Groffen [Sat, 18 Sep 2010 10:35:41 +0000 (12:35 +0200)]
catch another case where using EROOT is absolutely not correct:
when reading files from CONTENTS, don't prepend EROOT, since the package
already HAS prefix recorded in CONTENTS
Fabian Groffen [Sat, 18 Sep 2010 10:26:58 +0000 (12:26 +0200)]
Drop PREFIX LOCAL markers
Fabian Groffen [Sat, 18 Sep 2010 09:53:04 +0000 (11:53 +0200)]
Fix off-by-one; don't print useless "and 0 more" message.
Zac Medico [Sat, 18 Sep 2010 09:28:55 +0000 (02:28 -0700)]
Bug #337826 - Fix spawn_nofetch() to create the private
PORTAGE_TMPDIR before calling doebuild_environment().
Zac Medico [Sat, 18 Sep 2010 08:27:18 +0000 (01:27 -0700)]
Fix --autounmask get_dep_chain() function to traverse nested sets.
Zac Medico [Sat, 18 Sep 2010 07:58:29 +0000 (00:58 -0700)]
Never traverse the same node twice when showing parents in
depgraph._show_unsatisfied_dep().
Zac Medico [Sat, 18 Sep 2010 07:36:49 +0000 (00:36 -0700)]
When depgraph._show_unsatisfied_dep() displays parents, traverse nested
sets.
Zac Medico [Sat, 18 Sep 2010 06:27:49 +0000 (23:27 -0700)]
Make depgraph._pkg_visibility_check() when --autounmask is not
enabled.
Zac Medico [Sat, 18 Sep 2010 05:39:07 +0000 (22:39 -0700)]
Use _unicode_decode() to force unicode format strings inside
digraph.debug_print().
Zac Medico [Sat, 18 Sep 2010 05:23:54 +0000 (22:23 -0700)]
Put more variables in PORTAGE_READONLY_VARS instead of using
save_ebuild_env() to unset them.
Zac Medico [Sat, 18 Sep 2010 04:27:08 +0000 (21:27 -0700)]
Rename READONLY_EBUILD_METADATA and READONLY_PORTAGE_VARS to start
with PORTAGE_, and make them both readonly.
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.