diff options
author | Christopher Larson <chris_larson@mentor.com> | 2016-04-30 12:52:48 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-05-17 21:16:41 +0100 |
commit | 4506ccf1495c6ed6e8ed678f4baa166bc94d1761 (patch) | |
tree | 2522840affcc41de8c0f227e0ff23ac0678e7051 /bin/bitbake-worker | |
parent | 7ff5b9eed82b7f4fd138fc6d746a0b79efbea98a (diff) | |
download | bitbake-4506ccf1495c6ed6e8ed678f4baa166bc94d1761.tar.gz |
Implement support for per-task exports
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bin/bitbake-worker')
-rwxr-xr-x | bin/bitbake-worker | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/bin/bitbake-worker b/bin/bitbake-worker index 5fcffddd4..6a6b26b64 100755 --- a/bin/bitbake-worker +++ b/bin/bitbake-worker @@ -208,14 +208,24 @@ def fork_off_task(cfg, data, workerdata, fn, task, taskname, appends, taskdepdat # exported_vars() returns a generator which *cannot* be passed to os.environ.update() # successfully. We also need to unset anything from the environment which shouldn't be there exports = bb.data.exported_vars(the_data) + bb.utils.empty_environment() for e, v in exports: os.environ[e] = v + for e in fakeenv: os.environ[e] = fakeenv[e] the_data.setVar(e, fakeenv[e]) the_data.setVarFlag(e, 'export', "1") + task_exports = the_data.getVarFlag(taskname, 'exports', True) + if task_exports: + for e in task_exports.split(): + the_data.setVarFlag(e, 'export', '1') + v = the_data.getVar(e, True) + if v is not None: + os.environ[e] = v + if quieterrors: the_data.setVarFlag(taskname, "quieterrors", "1") |