Zac Medico [Sun, 14 Oct 2012 23:49:59 +0000 (16:49 -0700)]
emerge: lazy imports, optimize --help
Zac Medico [Sun, 14 Oct 2012 22:57:12 +0000 (15:57 -0700)]
chk_updated_info_files: move to separate file
Zac Medico [Sun, 14 Oct 2012 22:36:37 +0000 (15:36 -0700)]
display_preserved_libs: move to separate file
Zac Medico [Sun, 14 Oct 2012 21:59:33 +0000 (14:59 -0700)]
emerge: handle KeyboardInterrupt, not SIGINT
We handle KeyboardInterrupt instead of installing a SIGINT handler,
since exiting from signal handlers intermittently causes python to
ignore the SystemExit exception with a message like this:
Exception SystemExit: 130 in <function remove at 0x7fd2146c1320> ignored
Zac Medico [Sun, 14 Oct 2012 21:38:16 +0000 (14:38 -0700)]
emerge.1: broaden description of "r" merge attr
This attribute actually applies to anything matched by the internal
@__auto_* sets, which can mean a number of different things (see
depgraph._gen_reinstall_sets).
Zac Medico [Sun, 14 Oct 2012 20:31:46 +0000 (13:31 -0700)]
repoman: initial caps for git commit msg footers
Zac Medico [Sun, 14 Oct 2012 20:16:21 +0000 (13:16 -0700)]
repoman: special git commit footer, bug #438364
Arfrever Frehtes Taifersar Arahesis [Sun, 14 Oct 2012 20:00:19 +0000 (22:00 +0200)]
Invert order of arguments in Display._set_non_root_columns() and
Display._set_root_columns() for consistency with Display._set_no_columns().
Arfrever Frehtes Taifersar Arahesis [Sun, 14 Oct 2012 19:53:40 +0000 (21:53 +0200)]
Display.set_pkg_info(): Set cp and ver attributes.
Zac Medico [Sun, 14 Oct 2012 19:48:35 +0000 (12:48 -0700)]
repoman: identical Manifest commit message
Include the signed/unsigned part it the initial commit message,
so that it's identical to the Manifest commit message. See
bug #437546, comment #3.
Zac Medico [Sun, 14 Oct 2012 19:25:40 +0000 (12:25 -0700)]
Revert "repoman: identical Manifest commit message"
This reverts commit
b91eefc82e995ba3463d212f95fa9228c5cf53ae.
See bug #437546, comment #3.
Zac Medico [Sun, 14 Oct 2012 19:20:56 +0000 (12:20 -0700)]
match_from_list: rm redundant catpkgsplit(mycpv)
Zac Medico [Sun, 14 Oct 2012 02:53:09 +0000 (19:53 -0700)]
simplify Display.convert_myoldbest().
Zac Medico [Sun, 14 Oct 2012 02:44:18 +0000 (19:44 -0700)]
Simplify Display.get_ver_str().
Arfrever Frehtes Taifersar Arahesis [Sun, 14 Oct 2012 01:33:38 +0000 (03:33 +0200)]
Bug #434970: Disable some warnings during `emerge --sync`.
Arfrever Frehtes Taifersar Arahesis [Sat, 13 Oct 2012 23:57:06 +0000 (01:57 +0200)]
EAPI="5-progress": Add master_repositories(), repository_path(),
available_eclasses(), eclass_path() and license_path() functions.
Zac Medico [Sat, 13 Oct 2012 20:06:05 +0000 (13:06 -0700)]
MergeListItem: color binary display, bug #438254
Zac Medico [Thu, 11 Oct 2012 03:07:01 +0000 (20:07 -0700)]
Add QA_MULTILIB_PATHS for bug #437910.
Zac Medico [Wed, 10 Oct 2012 21:12:40 +0000 (14:12 -0700)]
PollScheduler: fix _schedule() to return True
This fixes a regression like bug #403895, introduced in commit
b696337bf20fdc539ce7721df7a4b42b35999705, since functions have to
return True in order to be continuously scheduled.
Zac Medico [Wed, 10 Oct 2012 19:12:18 +0000 (12:12 -0700)]
Atom: support *_beta* wildcard, bug #437872
Zac Medico [Tue, 9 Oct 2012 02:01:45 +0000 (19:01 -0700)]
_parse_uri_map: preserve order of URIs
Returns a dict of tuples instead of a dict of sets.
Zac Medico [Mon, 8 Oct 2012 22:07:34 +0000 (15:07 -0700)]
fetch: preserve SRC_URI order for primaryuri
Zac Medico [Mon, 8 Oct 2012 20:44:22 +0000 (13:44 -0700)]
PollScheduler: disable default _loadavg_latency
Move the 30 second default to the Scheduler class, since that's the
only place that it's currently needed (all other schedulers have
relatively short-running jobs).
Zac Medico [Mon, 8 Oct 2012 20:30:08 +0000 (13:30 -0700)]
emerge: handle --load-average with no arg
With no argument, removes a previous load limit (same behavior as
make).
Tim Boudreau [Mon, 8 Oct 2012 16:25:36 +0000 (09:25 -0700)]
dyn_spec: s/Copyright/License/, bug #437588
Fixes 'Unknown tag' error with rpm 4.10.0.
Zac Medico [Mon, 8 Oct 2012 16:07:08 +0000 (09:07 -0700)]
Revert "test_ipc_daemon: handle fork/finally race"
This reverts commit
56fbe3fe63adf4e7c5b47400182cd857d145d5b0.
The race is now handled internally by spawn and ForkProcess.
Zac Medico [Mon, 8 Oct 2012 16:03:24 +0000 (09:03 -0700)]
ForkProcess: set _exit finally block before fork
This is the most reliable way to handle the race condition.
Zac Medico [Mon, 8 Oct 2012 15:43:21 +0000 (08:43 -0700)]
spawn: setup _exit finally block before fork
This is the most reliable way to handle the race condition.
Zac Medico [Mon, 8 Oct 2012 15:08:51 +0000 (08:08 -0700)]
test_ipc_daemon: handle fork/finally race
Zac Medico [Mon, 8 Oct 2012 14:54:14 +0000 (07:54 -0700)]
spawn: use finally block for failure os._exit()
Also, use writemsg for unicode safety.
Zac Medico [Mon, 8 Oct 2012 14:34:09 +0000 (07:34 -0700)]
repoman: check EXTRA_ECONF/EMAKE, bug #437348
Zac Medico [Mon, 8 Oct 2012 14:17:20 +0000 (07:17 -0700)]
repoman: simplify EbuildAssignment check
The line continuation code is no longer needed since commit
a1578c654f26cab07309bc9cbddd3c95c0c205b5, because wrapped lines are
automatically joined before they are passed to the check. Also, inherit
ignore_comment = True from LineCheck.
Zac Medico [Mon, 8 Oct 2012 13:48:55 +0000 (06:48 -0700)]
ForkProcess: increase scope of try/finally/_exit
This minimizes the probability of triggering irrelevant finally blocks
from earlier in the call stack (bug #345289).
Zac Medico [Mon, 8 Oct 2012 02:30:51 +0000 (19:30 -0700)]
PollScheduler: rename sched_iface to _sched_iface
It isn't used externally anymore, since SchedulerInterface is used
directly in those places now. Many of the self.sched_iface references
updated here, it's more appropriate to use self._event_loop.
Zac Medico [Sun, 7 Oct 2012 22:02:35 +0000 (15:02 -0700)]
Show slot + repo for colliding packages.
See bug #437516 for example.
Zac Medico [Sun, 7 Oct 2012 21:31:39 +0000 (14:31 -0700)]
repoman: identical Manifest commit message
This will fix bug #437546.
Zac Medico [Sun, 7 Oct 2012 19:12:52 +0000 (12:12 -0700)]
Substitute SchedulerInterface for PollScheduler.
SchedulerInterface suffices for all of these cases.
EventLoop(main=False) is used for thread safety where
API consumers may be using threads.
Zac Medico [Sun, 7 Oct 2012 18:17:35 +0000 (11:17 -0700)]
PollScheduler: split out SchedulerInterface
Zac Medico [Sun, 7 Oct 2012 16:59:41 +0000 (09:59 -0700)]
action_uninstall: use PollScheduler not Scheduler
The PollScheduler class suffices here, if we just add a small amount of
logic to calculate the _background attribute from the emerge opts.
Arfrever Frehtes Taifersar Arahesis [Sun, 7 Oct 2012 05:32:28 +0000 (07:32 +0200)]
best_version() and has_version(): Improve die() messages.
- Print different die() message for invalid atoms.
- Mention ebuild-ipc instead of portageq in other die() messages when
ebuild-ipc is actually used.
Arfrever Frehtes Taifersar Arahesis [Sun, 7 Oct 2012 04:51:12 +0000 (06:51 +0200)]
Run tests with Python 3.4.
Zac Medico [Sat, 6 Oct 2012 22:00:53 +0000 (15:00 -0700)]
PollScheduler: move _main_loop to Scheduler
Zac Medico [Sat, 6 Oct 2012 18:05:37 +0000 (11:05 -0700)]
MetadataRegen: inherit AsyncScheduler
Zac Medico [Sat, 6 Oct 2012 17:26:26 +0000 (10:26 -0700)]
ManifestScheduler: tweak _task_exit output order
This ensures that errors are logged before new jobs are scheduled.
Zac Medico [Sat, 6 Oct 2012 05:20:07 +0000 (22:20 -0700)]
Substitute EventLoop for PollScheduler.
EventLoop suffices for all of these cases. EventLoop(main=False) is
used for thread safety where API consumers may be using threads.
Zac Medico [Sat, 6 Oct 2012 04:31:56 +0000 (21:31 -0700)]
PollScheduler: remove register/unregister methods
These methods were aliases for the EventLoop io_add_watch and
source_remove methods. Migrating to the EventLoop method names allows
an EventLoop instance to substitute for a PollScheduler inside
subclasses of AbstractPollTask.
Zac Medico [Sat, 6 Oct 2012 04:00:19 +0000 (21:00 -0700)]
PollScheduler: remove self._jobs
This is variable is only needed by the Scheduler class.
Zac Medico [Sat, 6 Oct 2012 01:54:16 +0000 (18:54 -0700)]
AsyncScheduler: remove useless __slots__
It's not allowed for AsyncScheduler to inherit from two classes that
define __slots__, so it useless to define __slots__ for AsyncScheduler
and subclasses.
Zac Medico [Fri, 5 Oct 2012 20:48:53 +0000 (13:48 -0700)]
TaskScheduler: inherit AsyncScheduler
This allows the QueueScheduler class to be eliminated.
Zac Medico [Fri, 5 Oct 2012 04:08:01 +0000 (21:08 -0700)]
test_ipc_daemon: implement internal SleepProcess
Emulate the sleep command, in order to ensure a consistent return code
when it is killed by SIGTERM (see bug #437180).
Zac Medico [Thu, 4 Oct 2012 22:17:57 +0000 (15:17 -0700)]
ebuild.sh: comment on noauto behavior
Zac Medico [Wed, 3 Oct 2012 23:53:10 +0000 (16:53 -0700)]
repoman: avoid Manifest double signature
Zac Medico [Wed, 3 Oct 2012 23:29:15 +0000 (16:29 -0700)]
ManifestScheduler: handle InvalidDependString
Zac Medico [Wed, 3 Oct 2012 20:16:06 +0000 (13:16 -0700)]
ManifestTask: add missing signatures
If the existing Manifest already has the correct content, but it is
not signed, then sign it if appropriate.
Zac Medico [Wed, 3 Oct 2012 18:55:50 +0000 (11:55 -0700)]
AsyncScheduler: poll in _schedule_tasks
Triggers cleanup and exit listeners if there's nothing left to do.
Zac Medico [Wed, 3 Oct 2012 18:39:11 +0000 (11:39 -0700)]
AsyncScheduler: implement _poll
Zac Medico [Wed, 3 Oct 2012 17:38:45 +0000 (10:38 -0700)]
AsyncScheduler: use _termination_check
The _terminate_tasks method is always supposed to be called via
_termination_check.
Zac Medico [Wed, 3 Oct 2012 10:18:46 +0000 (03:18 -0700)]
AsyncScheduler: source_remove in _wait
Zac Medico [Wed, 3 Oct 2012 10:00:23 +0000 (03:00 -0700)]
EbuildFetcher/MergeProcess: inherit ForkProcess
Also add missing __slots__ to ForkProcess. TODO: Share code
between ForkProcess and MergeProcess.
Zac Medico [Wed, 3 Oct 2012 09:31:41 +0000 (02:31 -0700)]
egencache: add --update-manifests, bug #436918
Update manifest files, and sign them if signing is enabled. This
supports parallelization if enabled via the --jobs option. The
--thin-manifests and --sign-manifests options may be used to manually
override layout.conf settings. There's also a new --strict-manifests
option that may be used to manually override the "strict" FEATURES
setting, a --gpg-key option to override PORTAGE_GPG_KEY, and a
--gpg-dir option to override PORTAGE_GPG_DIR.
Zac Medico [Wed, 3 Oct 2012 02:43:12 +0000 (19:43 -0700)]
Fix emerge <tbz2> for python3.
Zac Medico [Tue, 2 Oct 2012 20:22:57 +0000 (13:22 -0700)]
OrderedDict: fix setitem bug #436974
This fixes some strange behavior triggered during fetch, which is only
observable with Python 2.6 since it doesn't have
collections.OrderedDict.
Zac Medico [Sun, 30 Sep 2012 17:30:47 +0000 (10:30 -0700)]
debug-print: chgrp ${PORTAGE_GRPNAME:-portage}
This fixes warnings for prefix users (see commits
1c3c3b802014ac6356af09d149aaaffce6c14dc3 and
6983b1a1dd21f931ba751b727bd1a3c460383840).
Zac Medico [Sun, 30 Sep 2012 17:23:01 +0000 (10:23 -0700)]
phase-functions.sh: chgrp $T/environment
This partially reverts commit
314791e319e3ac7ce75f3a6f9ae9cc5c2b837df6,
in order to cover possible cases where it may not actually be
redundant, like if ebuild(1) is used to call pkg_setup as root, and
then a different user calls src_unpack. We use PORTAGE_GRPNAME if set,
in order to avoid triggering irrelevant warnings for unprivileged
prefix users (see chown and chgrp wrappers in commit
45bedf9cdc10fafd94858f67d62b36d35dd99544). This mirrors the approach
taken in commit
1c3c3b802014ac6356af09d149aaaffce6c14dc3 of the prefix
branch.
Zac Medico [Sun, 30 Sep 2012 08:40:36 +0000 (01:40 -0700)]
phase-functions.sh: remove redundant chown/chmod
These calls trigger warnings in prefix mode, since commit
45bedf9cdc10fafd94858f67d62b36d35dd99544. They are redundant, since the
permissions are handled the _post_phase_userpriv_perms function.
Zac Medico [Sun, 30 Sep 2012 08:18:45 +0000 (01:18 -0700)]
Add chown and chgrp wrappers for prefix.
For prefix, there is typically only a single unprivileged user who owns
everthing that is built and installed, and in this case it's desirable
to ignore chown and chrgrp failures. So, move the logic from fowners
into chown and chgrp wrappers, as discussed in bug #433453.
Zac Medico [Sat, 29 Sep 2012 02:36:17 +0000 (19:36 -0700)]
Handle KeyError when loading pickles.
See http://forums.gentoo.org/viewtopic-t-938022.html for example.
Zac Medico [Thu, 27 Sep 2012 19:12:03 +0000 (12:12 -0700)]
Fix indent from last commit.
Zac Medico [Thu, 27 Sep 2012 17:38:37 +0000 (10:38 -0700)]
ebuild.sh: EAPI conditional usex dummy
This probably makes no difference in practice, since it only affects
the "depend" phase. Note that we're allowed to use EAPI conditionals
here, since we parse the EAPI on the python side and pass it to bash.
Zac Medico [Thu, 27 Sep 2012 16:58:35 +0000 (09:58 -0700)]
_slot_operator: EAPI 5-hdepend DEPEND target only
Zac Medico [Thu, 27 Sep 2012 02:04:59 +0000 (19:04 -0700)]
prepalldocs: fix inverted eapi_has_docompress
This broke in commit
ab46499322311c1faa710c63d0a5339e49a9061a.
Zac Medico [Wed, 26 Sep 2012 21:43:13 +0000 (14:43 -0700)]
dodoc: source isolated-functions.sh earlier
This is needed since commit
ab46499322311c1faa710c63d0a5339e49a9061a.
Zac Medico [Wed, 26 Sep 2012 20:55:00 +0000 (13:55 -0700)]
UseManager: /etc/portage/profile extended syntax
If /etc/portage/profile/eapi does not exist, then support extended atom
syntax. This will fix bug #436330.
Arfrever Frehtes Taifersar Arahesis [Wed, 26 Sep 2012 20:31:20 +0000 (22:31 +0200)]
Add eapi.sh with ___eapi_*() functions and use these functions in other files.
Zac Medico [Wed, 26 Sep 2012 18:22:15 +0000 (11:22 -0700)]
test_ipc_daemon: increase sleep for bug #436334
Zac Medico [Wed, 26 Sep 2012 04:11:31 +0000 (21:11 -0700)]
Use constants for more hardcoded *DEPEND lists.
Zac Medico [Wed, 26 Sep 2012 03:47:39 +0000 (20:47 -0700)]
update_ents: use Package._dep_keys
Zac Medico [Wed, 26 Sep 2012 03:31:01 +0000 (20:31 -0700)]
evaluate_slot_operator_equal_deps: do HDEPEND
Zac Medico [Wed, 26 Sep 2012 03:28:24 +0000 (20:28 -0700)]
Use constants for more hardcoded *DEPEND lists.
Zac Medico [Wed, 26 Sep 2012 03:15:51 +0000 (20:15 -0700)]
Use constants for hardcoded *DEPEND lists.
Zac Medico [Wed, 26 Sep 2012 02:38:38 +0000 (19:38 -0700)]
Test emerge --root-deps more.
Zac Medico [Wed, 26 Sep 2012 02:36:32 +0000 (19:36 -0700)]
Test emerge --root-deps.
Zac Medico [Wed, 26 Sep 2012 02:25:49 +0000 (19:25 -0700)]
EventLoop: fix busy loop waiting for child pid
This fixes a case where EventLoop could consume 100% CPU while waiting
for a child process. It also fixes timeout calculations in python 2.x,
where it was using integer division instead of float.
Zac Medico [Wed, 26 Sep 2012 02:14:32 +0000 (19:14 -0700)]
_add_pkg_deps: use _get_eapi_attrs
Zac Medico [Wed, 26 Sep 2012 00:52:08 +0000 (17:52 -0700)]
ResolverPlayground: check targetroot in mergelist
Zac Medico [Wed, 26 Sep 2012 00:12:52 +0000 (17:12 -0700)]
ResolverPlayground: support targetroot
In order to support targetroot, ResolverPlayground always writes
make.conf, since create_trees does not propagate all of the necessary
settings via the env parameter (because the env settings often need to
be isolated from eachother, especially for cross-compilation).
Zac Medico [Tue, 25 Sep 2012 18:25:15 +0000 (11:25 -0700)]
repoman: rename most *DEPEND.* to dependency.*
This makes it easier to add new types, like HDEPEND.
Zac Medico [Tue, 25 Sep 2012 17:28:26 +0000 (10:28 -0700)]
repoman.1: unify *DEPEND.bad*, *DEPEND.syntax docs
Dennis Schridde [Tue, 25 Sep 2012 13:58:24 +0000 (15:58 +0200)]
Document targetroot useflag in ebuild(5)
Dennis Schridde [Tue, 25 Sep 2012 13:58:23 +0000 (15:58 +0200)]
Document default behaviour without --root-deps for EAPI 5- in ebuild(5)
Dennis Schridde [Tue, 25 Sep 2012 13:58:22 +0000 (15:58 +0200)]
Put lengthy install-location documentation into an own paragraph for cross-compile docs in ebuild(5)
Zac Medico [Tue, 25 Sep 2012 04:23:02 +0000 (21:23 -0700)]
Add EAPI 5-hdepend.docbook
Zac Medico [Tue, 25 Sep 2012 03:44:28 +0000 (20:44 -0700)]
Remove obsolete cache/flat_list.py
This module has been obsolete and useless for many years, which is
especially obvious since it was missing INHERITED from its
auxdbkey_order and it did not write any eclass metadata.
Zac Medico [Tue, 25 Sep 2012 03:30:05 +0000 (20:30 -0700)]
ResolverPlayground: simplify vdb/portdb creation
This enables automatic handling of HDEPEND.
Zac Medico [Tue, 25 Sep 2012 02:18:50 +0000 (19:18 -0700)]
make.conf.5: refer to ebuild.5 for cross-compile
Zac Medico [Tue, 25 Sep 2012 02:00:14 +0000 (19:00 -0700)]
circular_dependency: handle HDEPEND
Zac Medico [Tue, 25 Sep 2012 01:54:32 +0000 (18:54 -0700)]
cache/sqlite.py: translate None to empty string
Zac Medico [Tue, 25 Sep 2012 01:41:50 +0000 (18:41 -0700)]
cache/metadata.py: add HDEPEND
Arfrever Frehtes Taifersar Arahesis [Mon, 24 Sep 2012 22:27:09 +0000 (00:27 +0200)]
portageq: Automatically do not include imported functions in the list of commands.
Zac Medico [Mon, 24 Sep 2012 21:43:03 +0000 (14:43 -0700)]
man/emerge.1: italics for emphasis