summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/__init__.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 4d75d626a..84ff78f39 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -864,10 +864,12 @@ class config(object):
# constructor. Also, preserve XARGS since it is set by the
# portage.data module.
_environ_whitelist += [
- "FEATURES", "PORTAGE_BIN_PATH",
+ "DISTDIR", "FEATURES", "PORTAGE_BIN_PATH",
"PORTAGE_CONFIGROOT", "PORTAGE_DEPCACHEDIR",
"PORTAGE_GID", "PORTAGE_INST_GID", "PORTAGE_INST_UID",
- "PORTAGE_PYM_PATH", "PORTDIR_OVERLAY", "ROOT", "ROOTPATH", "USE_ORDER",
+ "PORTAGE_PYM_PATH", "PORTAGE_WORKDIR_MODE",
+ "PORTDIR", "PORTDIR_OVERLAY",
+ "ROOT", "ROOTPATH", "USE_ORDER",
"XARGS",
]
@@ -2573,8 +2575,14 @@ class config(object):
mydict["HOME"]=mydict["BUILD_PREFIX"][:]
if filter_calling_env:
- if "package" == self.get("EBUILD_PHASE"):
- for k in ("PKGDIR", ):
+ phase = self.get("EBUILD_PHASE")
+ if phase:
+ whitelist = []
+ if "package" == phase:
+ whitelist.append("PKGDIR")
+ if "rpm" == phase:
+ whitelist.append("RPMDIR")
+ for k in whitelist:
v = self.get(k)
if v is not None:
mydict[k] = v