Exclude "env" from use in variable substitution since we want to avoid v2.1.5.1
authorZac Medico <zmedico@gentoo.org>
Mon, 19 May 2008 20:31:24 +0000 (20:31 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 19 May 2008 20:31:24 +0000 (20:31 -0000)
any interaction with the calling environment that might lead to
unexpected results. (trunk r10364)

svn path=/main/branches/2.1.2/; revision=10365

pym/portage.py

index 04c4a7ebdd8703d3c79a3efb06cc22637b1a22f0..84fe111884662ccbc8552e92b78b96c89381b08c 100644 (file)
@@ -1442,14 +1442,17 @@ class config:
                        # in getconfig() calls, and the getconfig() calls
                        # update expand_map with the value of each variable
                        # assignment that occurs. Variable substitution occurs
-                       # in the following order:
+                       # in the following order, which corresponds to the
+                       # order of appearance in self.lookuplist:
                        #
                        #   * env.d
-                       #   * env
                        #   * make.globals
                        #   * make.defaults
                        #   * make.conf
                        #
+                       # Notably absent is "env", since we want to avoid any
+                       # interaction with the calling environment that might
+                       # lead to unexpected results.
                        expand_map = {}
 
                        env_d = getconfig(os.path.join(target_root, "etc", "profile.env"),
@@ -1461,7 +1464,6 @@ class config:
 
                        # backupenv is used for calculating incremental variables.
                        self.backupenv = os.environ.copy()
-                       expand_map.update(self.backupenv)
 
                        # make.globals should not be relative to config_root
                        # because it only contains constants.