summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--morphlib/builder.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/morphlib/builder.py b/morphlib/builder.py
index a0805e06..c35d0c41 100644
--- a/morphlib/builder.py
+++ b/morphlib/builder.py
@@ -542,7 +542,11 @@ class Builder(object): # pragma: no cover
self.source_manager = source_manager
self.factory = factory
self.indent = 0
- self.env = app.clean_env()
+ # create build environment string in advance
+ env_names = ("USER", "USERNAME", "LOGNAME",
+ "TOOLCHAIN_TARGET", "BOOTSTRAP")
+ env = app.clean_env()
+ self.build_env = ''.join(k + env[k] for k in env_names)
def msg(self, text):
spaces = ' ' * self.indent
@@ -660,7 +664,8 @@ class Builder(object): # pragma: no cover
(str(blob), type(blob)))
builder = klass(blob, self.factory, self.app.settings, self.cachedir,
- self.get_cache_id(blob), self.tempdir, self.env)
+ self.get_cache_id(blob), self.tempdir,
+ self.app.clean_env())
builder.real_msg = self.msg
builder.dump_memory_profile = self.dump_memory_profile
@@ -697,14 +702,12 @@ class Builder(object): # pragma: no cover
raise NotImplementedError('unknown morph kind %s' %
blob.morph.kind)
- build_env = ("USER", "USERNAME", "LOGNAME",
- "TOOLCHAIN_TARGET", "BOOTSTRAP")
dict_key = {
'name': blob.morph.name,
'arch': morphlib.util.arch(),
'ref': blob.morph.treeish.sha1,
'kids': ''.join(self.cachedir.key(k) for k in kids),
- 'env': ''.join(k + self.env[k] for k in build_env),
+ 'env': self.build_env,
}
return dict_key