diff options
Diffstat (limited to 'morphlib/builder.py')
-rw-r--r-- | morphlib/builder.py | 13 |
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 |