Zac Medico [Tue, 17 Aug 2010 18:24:15 +0000 (11:24 -0700)]
Fix breakage in REPLACING_VERSIONS support for emerge.
Zac Medico [Tue, 17 Aug 2010 18:00:15 +0000 (11:00 -0700)]
Add pretend to actionmap_deps.
Zac Medico [Tue, 17 Aug 2010 17:55:21 +0000 (10:55 -0700)]
Fix the REPLACING_VERSIONS code to work in cases when the pretend/setup
phases are pulled in as dependencies of other phases.
Zac Medico [Tue, 17 Aug 2010 17:30:12 +0000 (10:30 -0700)]
Discard REPLACING_VERSIONS and REPLACED_BY_VERSION when they are no
longer needed.
Zac Medico [Tue, 17 Aug 2010 16:42:20 +0000 (09:42 -0700)]
Use EbuildPhase instead of EbuildProcess, for things like die_hooks
support.
Zac Medico [Tue, 17 Aug 2010 16:35:41 +0000 (09:35 -0700)]
Make EbuildBinpkg inherit from CompositeTask since the EbuildPhase
class is capable of executing the 'package' phase.
Arfrever Frehtes Taifersar Arahesis [Tue, 17 Aug 2010 15:50:56 +0000 (17:50 +0200)]
Remove no longer needed code.
Zac Medico [Tue, 17 Aug 2010 14:38:13 +0000 (07:38 -0700)]
Tweak the EbuildSpawnProcess test and add comments.
Zac Medico [Tue, 17 Aug 2010 14:18:30 +0000 (07:18 -0700)]
Make EbuildBinpkg inherit from EbuildProcess since the 'package'
phase is already a member of actionmap.
Zac Medico [Tue, 17 Aug 2010 14:03:23 +0000 (07:03 -0700)]
Pass actionmap keyword argument as keyword, rather than positional.
Zac Medico [Tue, 17 Aug 2010 13:54:42 +0000 (06:54 -0700)]
Write compiled bytecodes to /dev/null, rather than write and unlink
them.
Zac Medico [Tue, 17 Aug 2010 13:43:31 +0000 (06:43 -0700)]
Fix _spawn_phase() to pass actionmap to EbuildPhase.
Zac Medico [Tue, 17 Aug 2010 13:39:17 +0000 (06:39 -0700)]
Unify ebuild spawing some more. All proper ebuild phases which execute
ebuild.sh are spawned via _doebuild_spawn() now. No exceptions.
Zac Medico [Tue, 17 Aug 2010 08:22:58 +0000 (01:22 -0700)]
Fix _spawn_phase() to spawn phases without sandbox when necessary.
Zac Medico [Tue, 17 Aug 2010 07:58:44 +0000 (00:58 -0700)]
Source isolated-functions.sh for helpers_die function.
Zac Medico [Tue, 17 Aug 2010 07:48:23 +0000 (00:48 -0700)]
Make doebuild() use EbuildPhase to execute all phase (unless returnpid
is True, which is only for the "depend" phase now).
Zac Medico [Tue, 17 Aug 2010 07:23:36 +0000 (00:23 -0700)]
Make sure doebuild() doesn't erroneously unlink a logfile when returnpid
is True.
Zac Medico [Tue, 17 Aug 2010 05:38:49 +0000 (22:38 -0700)]
Make EbuildBuild check the manifest before beginning, since with
--keep-going mode it's currently possible to get this far with a
broken manifest.
Zac Medico [Tue, 17 Aug 2010 04:52:31 +0000 (21:52 -0700)]
For ebuilds from $ROOT/var/db/pkg, don't give /var/db/pkg with the
"Appending /var/db/pkg to PORTDIR_OVERLAY..." treatment.
Zac Medico [Tue, 17 Aug 2010 04:40:25 +0000 (21:40 -0700)]
Use EbuildPhase to eliminate duplicate phase conditionals from doebuild().
Zac Medico [Tue, 17 Aug 2010 04:30:41 +0000 (21:30 -0700)]
Use EbuildPhase to execute preinst/postinst and eliminate duplicate code.
Zac Medico [Tue, 17 Aug 2010 04:19:26 +0000 (21:19 -0700)]
Use MiscFunctionsProcess to eliminate the _spawn_misc_sh() function.
Zac Medico [Tue, 17 Aug 2010 03:59:24 +0000 (20:59 -0700)]
Make spawnebuild() use EbuildPhase to eliminate duplicate code.
Zac Medico [Tue, 17 Aug 2010 01:42:06 +0000 (18:42 -0700)]
Reuse a single TaskScheduler instance.
Zac Medico [Tue, 17 Aug 2010 01:32:30 +0000 (18:32 -0700)]
Fix broken reference to 'myprovide' variable.
Zac Medico [Tue, 17 Aug 2010 01:29:18 +0000 (18:29 -0700)]
Pass token_class=portage.dep.Atom when parsing PROVIDE.
Zac Medico [Tue, 17 Aug 2010 01:16:56 +0000 (18:16 -0700)]
Add a MiscFunctionsProcess test.
Sebastian Luther [Mon, 16 Aug 2010 19:41:02 +0000 (21:41 +0200)]
Pass token_class parameter if possible to use_reduce
Sebastian Luther [Mon, 16 Aug 2010 13:52:38 +0000 (15:52 +0200)]
portage.dep.use_reduce: Add token_class parameter
All non operator token will be converted to this class
Zac Medico [Tue, 17 Aug 2010 00:34:02 +0000 (17:34 -0700)]
Fix ebuild.sh argument for cleanrm phase.
Zac Medico [Tue, 17 Aug 2010 00:25:33 +0000 (17:25 -0700)]
Move the fakeroot_state attribute back to EbuildSpawnProcess from
AbstractEbuildProcess (only EbuildSpawnProcess uses it).
Arfrever Frehtes Taifersar Arahesis [Mon, 16 Aug 2010 19:22:14 +0000 (21:22 +0200)]
Expand sys.executable earlier, so that change of sys.executable symlink
between starting main Portage process and starting ebuild.sh process
doesn't affect ebuild.sh subprocesses.
Arfrever Frehtes Taifersar Arahesis [Mon, 16 Aug 2010 18:35:03 +0000 (20:35 +0200)]
Fix typos in comments.
Zac Medico [Mon, 16 Aug 2010 16:25:32 +0000 (09:25 -0700)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Zac Medico [Mon, 16 Aug 2010 16:24:14 +0000 (09:24 -0700)]
Move fakeroot_state attribute from EbuildSpawnProcess to
AbstractEbuildProcess.
Arfrever Frehtes Taifersar Arahesis [Mon, 16 Aug 2010 16:12:29 +0000 (18:12 +0200)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Arfrever Frehtes Taifersar Arahesis [Mon, 16 Aug 2010 16:11:06 +0000 (18:11 +0200)]
Ensure that PORTAGE_PYTHON isn't a symlink.
Zac Medico [Mon, 16 Aug 2010 16:08:00 +0000 (09:08 -0700)]
Test the EbuildPhase class.
Zac Medico [Mon, 16 Aug 2010 15:55:58 +0000 (08:55 -0700)]
Remove unused attributes from classes.
Zac Medico [Mon, 16 Aug 2010 15:16:08 +0000 (08:16 -0700)]
Split out parts of doebuild() so that EbuildProcess can bypass it
and call the spawn() function directly.
Zac Medico [Mon, 16 Aug 2010 13:50:44 +0000 (06:50 -0700)]
Revert back to using portdbapi.getFetchMap() since the Package class
doesn't cache SRC_URI.
Sebastian Luther [Mon, 16 Aug 2010 13:22:16 +0000 (15:22 +0200)]
portage.dep.use_reduce: More comments and better error messages
Sebastian Luther [Mon, 16 Aug 2010 12:44:51 +0000 (14:44 +0200)]
Pass is_valid_flag to use_reduce if possible
Sebastian Luther [Mon, 16 Aug 2010 12:28:31 +0000 (14:28 +0200)]
portage.dep.use_reduce: Better error messages
Sebastian Luther [Mon, 16 Aug 2010 11:32:28 +0000 (13:32 +0200)]
portage.dep.use_reduce: Better validation of use flags in use conditionals
use_reduce now uses either a regex or, if provided, a is_valid_flag function
to validate use flags
Zac Medico [Mon, 16 Aug 2010 11:57:08 +0000 (04:57 -0700)]
Convert EbuildBinpkg to inherit from MiscFunctionsProcess instead
of EbuildProcess. This bypasses the complex doebuild() function,
and uses the _spawn_actionmap() function that's been split out.
Zac Medico [Mon, 16 Aug 2010 10:47:59 +0000 (03:47 -0700)]
Split the actionmap code out of doebuild() into a _spawn_actionmap()
that EbuildPhase will be able to use.
Zac Medico [Mon, 16 Aug 2010 10:34:12 +0000 (03:34 -0700)]
Handle OSError from os.path.samefile() (breakage from previous commit).
Zac Medico [Mon, 16 Aug 2010 10:02:34 +0000 (03:02 -0700)]
Bug #332967 - In bintree.inject(), add a sanity check to make sure we
don't try to call movefile on a package that's already in the correct
location.
Zac Medico [Mon, 16 Aug 2010 09:52:11 +0000 (02:52 -0700)]
When displaying portage.auxdbkeys, sort and filter unused.
Alec Warner [Mon, 16 Aug 2010 02:38:42 +0000 (19:38 -0700)]
Add ability for portageq help to print valid metadata keys.
Zac Medico [Mon, 16 Aug 2010 09:30:33 +0000 (02:30 -0700)]
Use _parse_uri_map() so that we can use cached metadata instead of
invoking portdbapi.getFetchMap().
Zac Medico [Mon, 16 Aug 2010 09:23:15 +0000 (02:23 -0700)]
Split a _parse_uri_map() function out of portdbapi.getFetchMap(), for
cases in which we already have the metadata and thus don't need to
invoke portdbapi.aux_get().
Zac Medico [Mon, 16 Aug 2010 09:08:01 +0000 (02:08 -0700)]
Bug #316311 - Document that in EAPI 4 the doman -i18n option takes
precedence over filename language suffix.
Zac Medico [Mon, 16 Aug 2010 08:59:44 +0000 (01:59 -0700)]
Bug #273651 - Document how helpers die automatically in EAPI 4, and
the nonfatal helper.
Zac Medico [Mon, 16 Aug 2010 08:48:37 +0000 (01:48 -0700)]
Bug #273650 - Document that unset RDEPEND no longer triggers implicit
setting in EAPI 4.
Zac Medico [Mon, 16 Aug 2010 08:36:39 +0000 (01:36 -0700)]
Bug #273648 - Document restriction of S to WORKDIR fallback in EAPI 4.
Zac Medico [Mon, 16 Aug 2010 08:15:34 +0000 (01:15 -0700)]
Bug #273646 - Copy PMS section 12.1.2 EAPI 4 docs for REPLACING_VERSIONS
and REPLACED_BY_VERSION variables.
Zac Medico [Mon, 16 Aug 2010 08:09:22 +0000 (01:09 -0700)]
Bug #273644 - Document that the KV variable is gone in EAPI 4.
Zac Medico [Mon, 16 Aug 2010 08:04:57 +0000 (01:04 -0700)]
Bug #273643 - Document that the AA variable is gone in EAPI 4.
Zac Medico [Mon, 16 Aug 2010 07:55:32 +0000 (00:55 -0700)]
Bug #273640 - Document that in EAPI 4 econf adds
--disable-dependency-tracking to configure arguments.
Zac Medico [Mon, 16 Aug 2010 07:46:01 +0000 (00:46 -0700)]
Bug #273636 - Document that in EAPI 4 doins and newins preserve symlinks.
Zac Medico [Mon, 16 Aug 2010 07:32:50 +0000 (00:32 -0700)]
Bug #273631 - Add docs for EAPI 4 default src_install function.
Zac Medico [Mon, 16 Aug 2010 07:19:20 +0000 (00:19 -0700)]
Bug #273626 - Add PMS docs for USE Dependency Defaults.
Zac Medico [Mon, 16 Aug 2010 07:10:56 +0000 (00:10 -0700)]
Bug #273622 - Add docs for pkg_pretend from PMS 10.1.2.
Zac Medico [Mon, 16 Aug 2010 03:59:26 +0000 (20:59 -0700)]
Enable EbuildIpcDaemon support by default.
Zac Medico [Mon, 16 Aug 2010 03:46:39 +0000 (20:46 -0700)]
Add support for /etc/portage/package.accept_keywords. If both
package.accept_keywords and package.keywords are present, both
of them will be used, and values from package.accept_keywords
will override values from package.keywords. The
package.accept_keywords file is intended to replace the
package.keywords file, since profiles support a different form
of package.keywords which modifies effective KEYWORDS (rather
than ACCEPT_KEYWORDS). Note that bug #292083 requests support
for package.accept_keywords in profiles.
Zac Medico [Mon, 16 Aug 2010 03:06:11 +0000 (20:06 -0700)]
Implement ExtendedAtomDict.iteritems(), so that it doesn't invoke
the special __getitem__ behavior.
Zac Medico [Mon, 16 Aug 2010 02:35:54 +0000 (19:35 -0700)]
Fix make.conf code to handle None return value from getconfig().
Zac Medico [Mon, 16 Aug 2010 02:25:32 +0000 (19:25 -0700)]
Add support for /etc/portage/make.profile as an alternative to
/etc/make.profile. If both /etc/make.profile/ and
/etc/portage/make.profile/ exist, then /etc/make.profile/
will be preferred.
Zac Medico [Mon, 16 Aug 2010 01:54:48 +0000 (18:54 -0700)]
Add support for /etc/portage/make.conf. If present, this file will
override settings from /etc/make.conf.
Zac Medico [Mon, 16 Aug 2010 00:22:36 +0000 (17:22 -0700)]
Remove PollScheduler._schedule_waitpid() since this case isn't triggered
anymore, now that PollScheduler._unregister() has be fixed to discard
unhandled events (so that reallocation of file descriptors no longer
triggers erroneous delivery of stale events).
Zac Medico [Sun, 15 Aug 2010 23:35:20 +0000 (16:35 -0700)]
Don't handle KeyError when looking up event handlers, since
_unregister() automatically discards stale events now.
Zac Medico [Sun, 15 Aug 2010 23:30:02 +0000 (16:30 -0700)]
Fix PollScheduler._unregister() to discard any unhandled events
that belong to the unregistered file, in order to prevent these
events from being erroneously delivered to a future handler
that is using a reallocated file descriptor of the same numeric
value (causing extremely confusing bugs). Note that this is was
the cause of the intermittent bug that forced me to disable
EbuildIpcDaemon by default.
Zac Medico [Sun, 15 Aug 2010 21:34:14 +0000 (14:34 -0700)]
Fix SubProcess instances to call _set_returncode() when appropriate,
instead of setting self.returncode directly.
Zac Medico [Sun, 15 Aug 2010 21:08:03 +0000 (14:08 -0700)]
Remove questionable lockfile removal code in dbapi.invalidentry().
Zac Medico [Sun, 15 Aug 2010 20:51:47 +0000 (13:51 -0700)]
Dispose of lock object after calling unlockfile(), in order to ensure
that we only try to unlock it once.
Zac Medico [Sun, 15 Aug 2010 18:39:40 +0000 (11:39 -0700)]
Evaluate SRC_URI and return early if there's nothing to fetch.
Zac Medico [Sun, 15 Aug 2010 17:56:49 +0000 (10:56 -0700)]
Make DoebuildSpawnTestCase instantiate a minimal Package instance, and
fix code to tolerate missing metadata values in various places.
Zac Medico [Sun, 15 Aug 2010 16:27:38 +0000 (09:27 -0700)]
Remove unuser return values from PollScheduler event handlers.
Zac Medico [Sun, 15 Aug 2010 16:17:17 +0000 (09:17 -0700)]
Remove redundant os.path.join() call in _init_ipc_fifos().
Zac Medico [Sun, 15 Aug 2010 16:13:19 +0000 (09:13 -0700)]
Add the "unexpected bash exit" case to the docstring.
Zac Medico [Sun, 15 Aug 2010 08:39:40 +0000 (01:39 -0700)]
Add some ebuild metadata for realism.
Zac Medico [Sun, 15 Aug 2010 08:18:19 +0000 (01:18 -0700)]
Pass along PORTAGE_USERNAME and PORTAGE_GRPNAME since they
need to be inherited by ebuild subprocesses.
Zac Medico [Sun, 15 Aug 2010 08:12:11 +0000 (01:12 -0700)]
Make create_trees() pass along PORTAGE_GRPNAME and PORTAGE_USERNAME
to all config instances.
Zac Medico [Sun, 15 Aug 2010 08:05:26 +0000 (01:05 -0700)]
Avoid KeyError if PORTAGE_USERNAME or PORTAGE_GRPNAME are unset.
Zac Medico [Sun, 15 Aug 2010 07:57:30 +0000 (00:57 -0700)]
Pass along PORTAGE_USERNAME and PORTAGE_GRPNAME inside _load_config()
since since they need to be inherited by ebuild subprocesses.
Zac Medico [Sun, 15 Aug 2010 07:41:08 +0000 (00:41 -0700)]
Add some more info to the 'Cannot chown a lockfile' message, since
it's being triggered on the buildbot.
Zac Medico [Sun, 15 Aug 2010 07:14:10 +0000 (00:14 -0700)]
Set PORTAGE_PYTHON for ebuild.sh subprocesses.
Zac Medico [Sun, 15 Aug 2010 07:07:36 +0000 (00:07 -0700)]
DoebuildSpawnTestCase: Invoke portage.package.ebuild.doebuild.spawn()
with a minimal environment. This gives coverage to some of the ebuild
execution internals, like ebuild.sh, EbuildSpawnProcess, and
EbuildIpcDaemon.
Zac Medico [Sun, 15 Aug 2010 05:18:17 +0000 (22:18 -0700)]
Bug #332799 - Don't download lzma snapshots if tarsync is installed.
Zac Medico [Sun, 15 Aug 2010 03:11:57 +0000 (20:11 -0700)]
Disable EbuildIpcDaemon for now, since it seems to be triggering
intermittent build failures in my stage builds. For testing purposes
set PORTAGE_IPC_DAEMON_ENABLE=1 to enable EbuildIpcDaemon.
Sebastian Luther [Sat, 14 Aug 2010 23:24:24 +0000 (01:24 +0200)]
portage.dep: Integrate the functionality of flatten into use_reduce
Zac Medico [Sat, 14 Aug 2010 18:37:31 +0000 (11:37 -0700)]
Add support for NOCOLOR variable.
Zac Medico [Sat, 14 Aug 2010 18:15:36 +0000 (11:15 -0700)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Zac Medico [Sat, 14 Aug 2010 18:13:01 +0000 (11:13 -0700)]
Pass $USE via IPC in order to ensure that we have the correct value for
built/installed packages, since the config class doesn't currently provide
a way to access built/installed $USE that would work in all possible
scenarios.
Arfrever Frehtes Taifersar Arahesis [Sat, 14 Aug 2010 18:04:03 +0000 (20:04 +0200)]
Use more correct paths to byte-compiled Python modules with Python 3.2
and remove empty __pycache__ directories.
Zac Medico [Sat, 14 Aug 2010 17:46:57 +0000 (10:46 -0700)]
Fix the ACCEPT_LICENSE setting that's generated for eutils check_license()
to account for package.license.
Zac Medico [Sat, 14 Aug 2010 17:21:45 +0000 (10:21 -0700)]
When in background mode, set NOCOLOR=true in order to prevent color
codes from showing up in logs, since we're not displaying to a terminal
anyway. Thanks to Brian Harring for the suggestion.
Zac Medico [Sat, 14 Aug 2010 17:05:42 +0000 (10:05 -0700)]
Add PORTAGE_PYTHON to _environ_whitelist.