Zac Medico [Thu, 17 Mar 2011 18:39:28 +0000 (11:39 -0700)]
dep_check: return errors as unicode
This should prevent the following error due to returning raw bytes,
reported in forum thread #869281:
File "pym/_emerge/BlockerDB.py", line 72, in findInstalledBlockers
portage.writemsg("!!! %s/*DEPEND: %s\n" % \
(pkg_location, atoms), noiselevel=-1)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in
position 23: ordinal not in range(128)
Zac Medico [Thu, 17 Mar 2011 05:36:33 +0000 (22:36 -0700)]
AsynchronousTask: add _cancel template method
David James [Thu, 17 Mar 2011 04:54:37 +0000 (21:54 -0700)]
Update Scheduler to protect against infinite loop
If we have running tasks, but we're not listening to these tasks,
we're going to loop forever. So throw an exception in this case.
Zac Medico [Thu, 17 Mar 2011 04:50:36 +0000 (21:50 -0700)]
Scheduler: tweak prefetcher cancellation logic
This should prevent "TypeError: an integer is required" raised from
waitpid when trying to cancel a prefetcher that never started.
Zac Medico [Thu, 17 Mar 2011 03:44:55 +0000 (20:44 -0700)]
CompositeTask: handle unstarted terminated tasks
Zac Medico [Thu, 17 Mar 2011 01:42:59 +0000 (18:42 -0700)]
CompositeTask: fix assertion in _wait
Zac Medico [Thu, 17 Mar 2011 01:19:02 +0000 (18:19 -0700)]
AsynchronousTask: always call wait() if cancelled
This is needed in order to ensure that exit listeners are called.
Subclasses call the base class cancel() method in order to inherit the
wait() call.
Zac Medico [Thu, 17 Mar 2011 00:36:36 +0000 (17:36 -0700)]
Scheduler: terminate _merge_wait_queue
Zac Medico [Wed, 16 Mar 2011 20:58:17 +0000 (13:58 -0700)]
iter_owners: try the hashed approach in any case
Previously, the slow approach was used whenever more than 10 files were
given as input. However, large numbers of files don't necessarily
mean the hashed approach is a bad choice, so try it in any case.
Zac Medico [Tue, 15 Mar 2011 22:58:02 +0000 (15:58 -0700)]
slot_conflict: tweak message and fix grammar
Zac Medico [Mon, 14 Mar 2011 17:52:17 +0000 (10:52 -0700)]
emerge: support [ y | n ] for --quiet
This allows --quiet and --quiet-build to be enabled via
EMERGE_DEFAULT_OPTS, and then temporarily disabled via the command-
line.
Zac Medico [Mon, 14 Mar 2011 16:40:40 +0000 (09:40 -0700)]
Update timestamps in headers of modified files.
Zac Medico [Sat, 12 Mar 2011 18:35:23 +0000 (10:35 -0800)]
Scheduler: fix AttributeError in _terminate_tasks
Thanks to David James <davidjames@google.com> for reporting this error:
AttributeError: 'EbuildPhase' object has no attribute 'merge'
Zac Medico [Fri, 11 Mar 2011 21:02:31 +0000 (13:02 -0800)]
Make all temp dirs under $PORTAGE_TMPDIR/portage.
Before, some temporary directories would be created directly in
$PORTAGE_TMPDIR. Now, all are subdirectories of $PORTAGE_TMPDIR/portage
since it's common for people to assume that this is the case anyway.
With the default PORTAGE_TMPDIR setting of /var/tmp, this allows
/var/tmp to be mounted with the "noexec" option, as long as the
/var/tmp/portage subdirectory is a separate mount (people have already
tended to assume that they can do this, so we're making it a reality
in order to avoid any more bug reports). This will fix bug #346899.
Zac Medico [Fri, 11 Mar 2011 06:02:19 +0000 (22:02 -0800)]
PollScheduler: tweek termination logic
* PollScheduler and all subclasses now use the _terminated_tasks
variable to check whether or not _terminate_tasks() has been called,
and behave appropriately in that case.
* The _schedule_tasks() method now has documentation about the
relationship with _terminate_tasks() and _terminated_tasks.
Zac Medico [Fri, 11 Mar 2011 05:21:19 +0000 (21:21 -0800)]
PollScheduler: call _terminate_tasks in _schedule
This prevents it from being called while the _schedule_tasks()
implementation is running, in order to avoid potential interference.
Zac Medico [Fri, 11 Mar 2011 03:29:57 +0000 (19:29 -0800)]
Scheduler: avoid infinite loop after CTRL-C
If CTRL-C was received at certain times, it was possible for discarded
tasks to be erroneously left in Scheduler._running_tasks, which would
cause the main loop to run infinitely. Thanks to David James
<davidjames@google.com> for reporting this issue and helping to devise
a solution.
Zac Medico [Thu, 10 Mar 2011 22:49:47 +0000 (14:49 -0800)]
ebuild-ipc: use plain file read instead of array
Array.fromfile() seems to be more error prone. For example, see
bug 337465.
Zac Medico [Thu, 10 Mar 2011 05:46:17 +0000 (21:46 -0800)]
AbstractPollTask: log exceptional events
Previously, when AbstractPollTask receives a POLLERR or POLLNVAL event,
it would silently cancel the task. Now it will generate a message like
this:
!!! SpawnProcess received strange poll event: 8
The message is displayed via a new _log_poll_exception method, which
is overridden by AbstractEbuildProcess to log the message via elog.
This might help diagnose reported cases of SIGTERM signals killing
ebuild processes for no apparent reason:
http://code.google.com/p/chromium-os/issues/detail?id=12968
Zac Medico [Wed, 9 Mar 2011 03:28:21 +0000 (19:28 -0800)]
unmerge: use vardbapi._dblink() to simplify
The dblink constructor is complex and best avoided.
Arfrever Frehtes Taifersar Arahesis [Wed, 9 Mar 2011 02:57:23 +0000 (03:57 +0100)]
Bug #357009: Disallow uninstallation of currently used Python interpreter.
Zac Medico [Mon, 7 Mar 2011 17:34:02 +0000 (09:34 -0800)]
portdbapi: source ebuilds when eclass dir missing
This will fix bug #357581.
Zac Medico [Sun, 6 Mar 2011 00:41:00 +0000 (16:41 -0800)]
eclass_cache: remove deprecated methods
Zac Medico [Fri, 4 Mar 2011 16:39:53 +0000 (08:39 -0800)]
config: quote overlays containing spaces
This will fix bug #357297.
Zac Medico [Wed, 2 Mar 2011 19:46:57 +0000 (11:46 -0800)]
Remove redundant CONTENTS parent dir generation.
This code is redunant now, since similar code has been added to
dblink.getcontents() in commit
e0b4048274b2cfc1617f2eff379cbe8435e13ed4.
Zac Medico [Wed, 2 Mar 2011 18:51:41 +0000 (10:51 -0800)]
dblink.getcontents(): generate parent directories
We can't necessarily assume that they are explicitly listed in
CONTENTS, and they are crucial for callers such as dblink.isowner().
Zac Medico [Wed, 2 Mar 2011 17:59:11 +0000 (09:59 -0800)]
grablines: allow inline comments
Theo Chatzimichos [Wed, 2 Mar 2011 17:39:56 +0000 (09:39 -0800)]
grabdict: allow inline comments
Zac Medico [Wed, 2 Mar 2011 16:39:14 +0000 (08:39 -0800)]
depgraph: don't output \b to non-tty
This will fix bug #357093.
Zac Medico [Wed, 2 Mar 2011 04:52:28 +0000 (20:52 -0800)]
dodoc: update copyright date
Zac Medico [Wed, 2 Mar 2011 00:53:25 +0000 (16:53 -0800)]
ebuild(1): fix ebuild modification check
This has been broken since the setcpv call (triggering metadata
generation) was added before it in commit
0b39d24bb8270e5c89eaddfd1f5a4181cf9e31d3.
Zac Medico [Tue, 1 Mar 2011 21:52:04 +0000 (13:52 -0800)]
action_deselect: expand cat against world atoms
Zac Medico [Tue, 1 Mar 2011 21:20:59 +0000 (13:20 -0800)]
unmerge: log pre/postrm FAILED messages
Zac Medico [Tue, 1 Mar 2011 21:04:41 +0000 (13:04 -0800)]
owners_cache: fix EPREFIX miscalculation
This reverts commit
43e0b3ea4289aab9b4258d29d06afac40abd6c01 and
renames the root_len variable to eroot_len (for clarity).
Zac Medico [Tue, 1 Mar 2011 20:42:56 +0000 (12:42 -0800)]
owners_cache: add parent dirs deeper than EPREFIX
Zac Medico [Tue, 1 Mar 2011 20:07:53 +0000 (12:07 -0800)]
unmerge: implicitly unmerge parent directories
We can't necessarily assume that they are explicitly listed in
CONTENTS.
Zac Medico [Tue, 1 Mar 2011 18:06:01 +0000 (10:06 -0800)]
owners_cache: implicitly add parent directories
We can't necessarily assume that they are explicitly listed in
CONTENTS.
Zac Medico [Mon, 28 Feb 2011 20:37:22 +0000 (12:37 -0800)]
repoman: variable.usedwithhelpers ignore quoted
Zac Medico [Mon, 28 Feb 2011 18:57:53 +0000 (10:57 -0800)]
ebuild(1): apply package.env earlier
This makes it possible to override PORTAGE_TMPDIR.
Zac Medico [Mon, 28 Feb 2011 17:58:27 +0000 (09:58 -0800)]
depgraph: case insensitive search for unsatisfied
This will fix bug #356555.
Zac Medico [Mon, 28 Feb 2011 05:27:02 +0000 (21:27 -0800)]
repoman: warn about calls to prepall and preplib
Arfrever Frehtes Taifersar Arahesis [Sat, 26 Feb 2011 20:15:50 +0000 (21:15 +0100)]
Run tests with Python 3.3.
Zac Medico [Sat, 26 Feb 2011 00:19:01 +0000 (16:19 -0800)]
repoman: add back portage.internal check
This check got removed for bug #262365, but now that EAPI 4 is released
we can add it back. Now it checks for ecompress/ecompressdir too (for
bug #218347).
Zac Medico [Fri, 25 Feb 2011 20:32:21 +0000 (12:32 -0800)]
doins: fix dodoc directory error handling
Zac Medico [Fri, 25 Feb 2011 20:11:34 +0000 (12:11 -0800)]
doins: avoid die when called as dodoc with no arg
Zac Medico [Fri, 25 Feb 2011 19:50:52 +0000 (11:50 -0800)]
dodoc: call doins, to reuse recursion code
This will fix broken recursion logic for bug #356461.
Zac Medico [Fri, 25 Feb 2011 18:18:38 +0000 (10:18 -0800)]
dodoc: quote ${0}
Ulrich Mueller [Fri, 25 Feb 2011 07:43:17 +0000 (08:43 +0100)]
dodoc: Honour exit status of install, bug 356389.
Zac Medico [Fri, 25 Feb 2011 06:29:31 +0000 (22:29 -0800)]
action_sync: handle IPv6 [ip] in SYNC some more
This will fix bug #356375 some more.
Zac Medico [Fri, 25 Feb 2011 05:58:44 +0000 (21:58 -0800)]
action_sync: handle IPv6 [ip] in SYNC
This will fix bug #356375.
Zac Medico [Tue, 22 Feb 2011 17:57:25 +0000 (09:57 -0800)]
emerge.1: escape hyphens
Zac Medico [Tue, 22 Feb 2011 17:31:50 +0000 (09:31 -0800)]
emerge: mention revdep-rebuild in depclean help
Zac Medico [Tue, 22 Feb 2011 17:30:09 +0000 (09:30 -0800)]
emerge.1: mention revdep-rebuild in depclean docs
Zac Medico [Tue, 22 Feb 2011 03:04:10 +0000 (19:04 -0800)]
show_depclean_suggestion: use ewarn, not einfo
Zac Medico [Tue, 22 Feb 2011 02:59:24 +0000 (18:59 -0800)]
chk_updated_cfg_files: don't display ._cfg0000_
Zac Medico [Tue, 22 Feb 2011 02:50:33 +0000 (18:50 -0800)]
Update date headers in modified files.
Zac Medico [Tue, 22 Feb 2011 02:38:45 +0000 (18:38 -0800)]
chk_updated_cfg_files: fix plurality of message
This will fix bug #355803.
Zac Medico [Tue, 22 Feb 2011 02:19:45 +0000 (18:19 -0800)]
emerge.1: fix arg description more for bug 354137
Zac Medico [Tue, 22 Feb 2011 02:07:07 +0000 (18:07 -0800)]
post_emerge: suggest depclean after world update
This is part of bug #354787.
Zac Medico [Tue, 22 Feb 2011 00:35:14 +0000 (16:35 -0800)]
post_emerge: pass in more info
This makes it possible to do things like give special suggestions after
world updates.
Zac Medico [Mon, 21 Feb 2011 16:17:09 +0000 (08:17 -0800)]
ebuild.sh: remove unused PWORKDIR variable
Zac Medico [Sun, 20 Feb 2011 09:42:14 +0000 (01:42 -0800)]
SubProcess: notify exit listeners in _poll
Zac Medico [Sun, 20 Feb 2011 09:40:37 +0000 (01:40 -0800)]
Scheduler: ensure _prefetchers is cleared
Zac Medico [Sun, 20 Feb 2011 00:00:16 +0000 (16:00 -0800)]
Update date headers in modified files.
Zac Medico [Sat, 19 Feb 2011 23:49:13 +0000 (15:49 -0800)]
repoman: variable.usedwithhelpers tighten regex
This will fix bug #355621.
Zac Medico [Sat, 19 Feb 2011 23:27:32 +0000 (15:27 -0800)]
_eapi4_src_install: handle empty DOCS like PMS
This will fix bug #355635.
Zac Medico [Sat, 19 Feb 2011 22:53:45 +0000 (14:53 -0800)]
check_required_use: improve missing IUSE error
This will fix bug #355629.
Ulrich Mueller [Fri, 18 Feb 2011 23:42:36 +0000 (00:42 +0100)]
docompress, prepcompress: Add missing quotes.
Zac Medico [Fri, 18 Feb 2011 16:44:31 +0000 (08:44 -0800)]
emerge: fix --sync cvs error message
Zac Medico [Fri, 18 Feb 2011 16:16:31 +0000 (08:16 -0800)]
emerge: warn to stderr if post_* hooks fail
Gokdeniz Karadag [Fri, 18 Feb 2011 15:57:25 +0000 (07:57 -0800)]
emerge: support post_emerge hook like post_sync
This will fix bug #355447.
Zac Medico [Fri, 18 Feb 2011 15:37:25 +0000 (07:37 -0800)]
egencache: fix cmp_func for python3
Zac Medico [Fri, 18 Feb 2011 15:15:15 +0000 (07:15 -0800)]
unmerge: don't show null/ cat in unmatched atoms
This will fix bug #269534.
Zac Medico [Fri, 18 Feb 2011 12:05:16 +0000 (04:05 -0800)]
BinpkgVerifier: disable color in background mode
Zac Medico [Fri, 18 Feb 2011 08:32:27 +0000 (00:32 -0800)]
mail: handle unicode in subject more for python3
Zac Medico [Fri, 18 Feb 2011 08:03:10 +0000 (00:03 -0800)]
mail: handle unicode in subject for python3
Zac Medico [Thu, 17 Feb 2011 10:43:02 +0000 (02:43 -0800)]
ResolverDepthTestCase: test --selective more
Zac Medico [Thu, 17 Feb 2011 10:32:20 +0000 (02:32 -0800)]
emerge --sync: display message when cvs fails
Zac Medico [Tue, 15 Feb 2011 17:22:31 +0000 (09:22 -0800)]
Update date headers for modified files.
Zac Medico [Mon, 14 Feb 2011 17:00:42 +0000 (09:00 -0800)]
depgraph: fix virtual code to handle unsatisfied
Zac Medico [Mon, 14 Feb 2011 16:43:37 +0000 (08:43 -0800)]
depgraph: --deep=0 is equivalent to no deep param
Zac Medico [Mon, 14 Feb 2011 16:32:32 +0000 (08:32 -0800)]
depgraph: --nodeps overrides --complete-graph
Zac Medico [Mon, 14 Feb 2011 15:46:39 +0000 (07:46 -0800)]
Recognize git-2.eclass when reinstalling self.
Zac Medico [Mon, 14 Feb 2011 15:36:12 +0000 (07:36 -0800)]
Recognize git-2.eclass as a live eclass.
Zac Medico [Mon, 14 Feb 2011 15:29:33 +0000 (07:29 -0800)]
depgraph: fix KeyError in select_atoms
This happens if depstring evaluates to nothing.
Zac Medico [Mon, 14 Feb 2011 07:20:48 +0000 (23:20 -0800)]
get_dep_chain: fix broken parent_arg reference
Broken since commit
b4f98ec5a1eb2e010a455b19db5bef8d61def241.
Zac Medico [Mon, 14 Feb 2011 07:17:04 +0000 (23:17 -0800)]
depgraph: normalize indentation
Zac Medico [Mon, 14 Feb 2011 06:40:57 +0000 (22:40 -0800)]
depgraph: ignore fewer deps
This restores some desired logic that was left out of commit
5655b4dcfe5e9dae5e9d6352d791c3d04953baf7.
Zac Medico [Mon, 14 Feb 2011 06:05:52 +0000 (22:05 -0800)]
depgraph: remove redundant "empty" param checks
Since commit
878f166c5a06b0ab6c5a34dd658c878cc7605fe7, empty implies
deep = True, so these checks are redundant.
Zac Medico [Mon, 14 Feb 2011 05:50:29 +0000 (21:50 -0800)]
depgraph: --nodeps overrides --deep
Zac Medico [Mon, 14 Feb 2011 04:57:57 +0000 (20:57 -0800)]
get_dep_chain: fix unsatisfied_dependency logic
Always prefer parents for which the parent atom is unsatisfied by the
child node. This seems to be the intention of the code, though it may
not have behaved correctly due to continuation of the parent loop.
Zac Medico [Mon, 14 Feb 2011 03:59:24 +0000 (19:59 -0800)]
Fix unhandled FileNotFound from previous commit.
There is an existing handler for EnvironmentError, so raise that
instead of FileNotFound.
David James [Fri, 11 Feb 2011 17:25:26 +0000 (09:25 -0800)]
Add support for grabbing Packages files using external programs.
If the user specifies FETCHCOMMAND_*, Portage should honor this when grabbing
Packages files. This allows users to setup support for grabbing Packages files
from other protocols.
BUG=chrome-os-partner:2026
TEST=Try downloading prebuilts from gs:// when FETCHCOMMAND_GS is setup in make.conf
Change-Id: I96b239819351633dd02d608954e81a1c363a4687
Review URL: http://codereview.chromium.org/
6458015
Zac Medico [Mon, 14 Feb 2011 03:28:07 +0000 (19:28 -0800)]
get_dep_chain: prefer parents in merge list
This will fix bug #354747.
Zac Medico [Mon, 14 Feb 2011 02:20:16 +0000 (18:20 -0800)]
Display: tweak output and docs for bug 58416
Now the masking display is disabled by the --quiet option if the
--verbose option is not enabled simultaneously. Also, docs are
updated as per bug 58416, comment #11 and #12.
Zac Medico [Sun, 13 Feb 2011 17:35:07 +0000 (09:35 -0800)]
ResolverDepthTestCase: add more cases
Zac Medico [Sun, 13 Feb 2011 14:18:00 +0000 (06:18 -0800)]
egencache: --preserve-comments allow missing file
This will fix bug #354687.
Zac Medico [Sun, 13 Feb 2011 13:55:18 +0000 (05:55 -0800)]
depgraph: fix and test depth control for virtuals
Zac Medico [Sun, 13 Feb 2011 13:00:28 +0000 (05:00 -0800)]
ResolverDepthTestCase: test new-style virtuals
Zac Medico [Sun, 13 Feb 2011 11:34:32 +0000 (03:34 -0800)]
ResolverDepthTestCase: add more cases