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
Zac Medico [Mon, 24 Sep 2012 21:01:11 +0000 (14:01 -0700)]
Re-word HDEPEND docs wrt "EAPI 5 and earlier"
Referring to ranges like this is ambigous when when don't know what
EAPI 6 will bring, and we have both EAPI 5-progress and 5-hdepend which
add different feature sets to EAPI 5.
Dennis Schridde [Mon, 24 Sep 2012 12:16:02 +0000 (14:16 +0200)]
Document behaviour of --root-deps for EAPI 6+ in emerge(1)
Dennis Schridde [Mon, 24 Sep 2012 12:16:01 +0000 (14:16 +0200)]
Document HDEPEND in ebuild(5)
Zac Medico [Mon, 24 Sep 2012 20:26:24 +0000 (13:26 -0700)]
repoman: support HDEPEND for EAPI 5-hdepend
Ambroz Bizjak [Mon, 24 Sep 2012 20:13:46 +0000 (13:13 -0700)]
Add experimental EAPI 5-hdepend support.
Zac Medico [Mon, 24 Sep 2012 15:17:11 +0000 (08:17 -0700)]
_global_updates: scan binarytree only if needed
This will fix bug #436084.
Mike Frysinger [Mon, 24 Sep 2012 00:38:43 +0000 (20:38 -0400)]
drop support for QA_DT_HASH/QA_STRICT_DT_HASH
These variables have been deprecated in favor of the new variables
QA_STRICT_FLAGS_IGNORED/QA_FLAGS_IGNORED, and the tree has been
converted over to the new ones, so drop the old vars.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 24 Sep 2012 00:16:54 +0000 (20:16 -0400)]
use `readlink -f` if it works
Rather than always re-implementing `readlink -f` in shell, probe the host
tool first to see if it works.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Mon, 24 Sep 2012 03:12:14 +0000 (20:12 -0700)]
_create_use_string: pass in feature_flags arg
This allows them to be looked up outside of the USE_EXPAND loop.
Zac Medico [Mon, 24 Sep 2012 03:00:56 +0000 (20:00 -0700)]
env_update: use eroot variable more
Dennis Schridde [Sun, 23 Sep 2012 18:31:52 +0000 (20:31 +0200)]
Reorder description of --root-deps in emerge(1)
80 char width and max 1 sentence per line.
Dennis Schridde [Sun, 23 Sep 2012 18:01:12 +0000 (20:01 +0200)]
Improve wording of *DEPEND variable description in ebuild(5) a bit
Dennis Schridde [Sun, 23 Sep 2012 17:51:52 +0000 (19:51 +0200)]
Better documentation of PDEPEND in ebuild(5)
Dennis Schridde [Sun, 23 Sep 2012 17:51:29 +0000 (19:51 +0200)]
Fix referencens to Dependencies section of ebuild(5)
Dennis Schridde [Sun, 23 Sep 2012 16:07:12 +0000 (18:07 +0200)]
Adjust code of first paragraph of ebuild(5) to 80 char width
Dennis Schridde [Sat, 22 Sep 2012 22:56:56 +0000 (00:56 +0200)]
Reorder and cleanup of ebuild(5)
Zac Medico [Mon, 24 Sep 2012 02:25:02 +0000 (19:25 -0700)]
env_update: scan all dirs starting with "lib"
Also see bug #435834 and commit
7fb9758506341ffc05585fbd18f2be58ef0e16c2.
Mike Frysinger [Mon, 24 Sep 2012 00:07:36 +0000 (20:07 -0400)]
scan all lib subdirs
Rather than hardcoding lib/lib32/lib64, scan all dirs starting with "lib".
URL: https://bugs.gentoo.org/435834
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Sun, 23 Sep 2012 23:22:35 +0000 (16:22 -0700)]
Add _get_feature_flags(eapi_attrs) function.
This will be useful for adding flags that behave specially in
experimental EAPIs, such as the targetroot/sysroot flag which is
planned for EAPI 5-hdepend.
Zac Medico [Sun, 23 Sep 2012 22:43:04 +0000 (15:43 -0700)]
RepoConfig: add find_invalid_path_char method
This binds filename validation to the RepoConfig, so that eventually
we'll be able to control it via a layout.conf setting as discussed in
bug #435934.
Zac Medico [Sat, 22 Sep 2012 21:52:35 +0000 (14:52 -0700)]
Use re.UNICODE for category/package name regexes.
This only affects r'\w' with Python 2.x, since Python 3 already
defaults to re.UNICODE behavior when compiling unicode str objects
(unless re.ASCII is specified). If a repository wants to ban unicode
categore/package names then we can add a layout.conf setting for that,
as discussed in bug #435934.
Zac Medico [Sat, 22 Sep 2012 17:08:03 +0000 (10:08 -0700)]
emerge.1: --depclean-lib-check not time-consuming
Since commit
f393413c3f823ef4a60acfcc41c3920933510fc1, it's optimized
so that it shouldn't take much time.
Arfrever Frehtes Taifersar Arahesis [Sat, 22 Sep 2012 00:45:57 +0000 (02:45 +0200)]
Include usex in the list of helpers banned in global scope in
documentation of EAPI="5-progress".
Zac Medico [Fri, 21 Sep 2012 22:22:07 +0000 (15:22 -0700)]
NEWS: fix --depclean-lib-check sentence
Zac Medico [Fri, 21 Sep 2012 22:17:45 +0000 (15:17 -0700)]
doebuild.py: remove unused f = None
Zac Medico [Fri, 21 Sep 2012 22:00:08 +0000 (15:00 -0700)]
Deprecate EAPI 5_pre2.
Zac Medico [Fri, 21 Sep 2012 21:53:05 +0000 (14:53 -0700)]
NEWS/RELEASE-NOTES: adjust info for package sets
Zac Medico [Fri, 21 Sep 2012 21:50:08 +0000 (14:50 -0700)]
portage.5: document nested package sets
Zac Medico [Fri, 21 Sep 2012 21:19:18 +0000 (14:19 -0700)]
Add preserve-libs for stable branch (not default)
EAPI 5 supports automatic rebuilds via the slot-operator and sub-slots,
which makes preserve-libs much more user-friendly, since it makes
@preserved-rebuild unnecessary (also see bug #364425 for explanation of
@preserved-rebuild shortcomings). Therefore, enable preserve-libs for
the stable branch, but not by default. After EAPI 5 is widely adopted,
we can consider enabling preserve-libs by default.
Arfrever Frehtes Taifersar Arahesis [Fri, 21 Sep 2012 19:03:05 +0000 (21:03 +0200)]
Support EAPI="5-progress".
Zac Medico [Fri, 21 Sep 2012 18:40:20 +0000 (11:40 -0700)]
Add _DEPCLEAN_LIB_CHECK_DEFAULT constant.
This will allow for the option to be available in the stable branch
without changing the default --depclean behavior.
Zac Medico [Fri, 21 Sep 2012 18:00:29 +0000 (11:00 -0700)]
primaryuri: prefer thirdpartymirrors in SRC_URI
This will fix bug #435720.
Arfrever Frehtes Taifersar Arahesis [Fri, 21 Sep 2012 06:31:13 +0000 (08:31 +0200)]
Improve allowing of directories on profile level and repository level in EAPI="4-python".
Arfrever Frehtes Taifersar Arahesis [Fri, 21 Sep 2012 04:30:12 +0000 (06:30 +0200)]
Read profile EAPI earlier.
Arfrever Frehtes Taifersar Arahesis [Fri, 21 Sep 2012 03:23:47 +0000 (05:23 +0200)]
Move EAPI check for stable USE forcing and masking to portage.eapi module.