summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 5dae56416..dc4ea15df 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -1019,6 +1019,24 @@ class config:
pass
del blacklisted, cfg
+ env_d = getconfig(
+ os.path.join(config_root, "etc", "profile.env"))
+ # env_d will be None if profile.env doesn't exist.
+ if env_d:
+ self.configdict["env.d"].update(env_d)
+ # Remove duplicate values so they don't override updated
+ # profile.env values later (profile.env is reloaded in each
+ # call to self.regenerate).
+ for cfg in (self.configdict["backupenv"],
+ self.configdict["env"]):
+ for k, v in env_d.iteritems():
+ try:
+ if cfg[k] == v:
+ del cfg[k]
+ except KeyError:
+ pass
+ del cfg, k, v
+
self["PORTAGE_CONFIGROOT"] = config_root
self.backup_changes("PORTAGE_CONFIGROOT")
self["ROOT"] = target_root