summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-02-13 23:03:39 +0000
committerZac Medico <zmedico@gentoo.org>2010-02-13 23:03:39 +0000
commit7d2fa6927d3a60828f09a0a2cd569038c2c18482 (patch)
tree509d672a58e272d1ccad8fafc4e4048638a5140d
parente0da735cca74d09de02387f43d5cdee4a7e8381f (diff)
downloadportage-7d2fa6927d3a60828f09a0a2cd569038c2c18482.tar.gz
portage-7d2fa6927d3a60828f09a0a2cd569038c2c18482.tar.bz2
portage-7d2fa6927d3a60828f09a0a2cd569038c2c18482.zip
Bug #262647 - Explicitly exclude SRC_URI and other potentially long metadata
variables from config.environ() exports, to avoid potential E2BIG errors from execve calls. svn path=/main/trunk/; revision=15347
-rw-r--r--pym/portage/__init__.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 381701b60..da135cff3 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -1365,9 +1365,6 @@ class config(object):
virtuals ...etc you look in here.
"""
- # Don't include anything that could be extremely long here (like SRC_URI)
- # since that could cause execve() calls to fail with E2BIG errors. For
- # example, see bug #262647.
_setcpv_aux_keys = ('SLOT', 'RESTRICT', 'LICENSE',
'KEYWORDS', 'INHERITED', 'IUSE', 'PROVIDE', 'EAPI',
'PROPERTIES', 'DEFINED_PHASES', 'repository')
@@ -1466,6 +1463,13 @@ class config(object):
# they don't needlessly propagate down into the ebuild environment.
_environ_filter = []
+ # Exclude anything that could be extremely long here (like SRC_URI)
+ # since that could cause execve() calls to fail with E2BIG errors. For
+ # example, see bug #262647.
+ _environ_filter += [
+ 'DEPEND', 'RDEPEND', 'PDEPEND', 'SRC_URI',
+ ]
+
# misc variables inherited from the calling environment
_environ_filter += [
"INFOPATH", "MANPATH", "USER",