diff options
Diffstat (limited to 'bitbake/bin')
| -rwxr-xr-x | bitbake/bin/bitbake-worker | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker index 5fcffddd4d..6a6b26b64a 100755 --- a/bitbake/bin/bitbake-worker +++ b/bitbake/bin/bitbake-worker | |||
| @@ -208,14 +208,24 @@ def fork_off_task(cfg, data, workerdata, fn, task, taskname, appends, taskdepdat | |||
| 208 | # exported_vars() returns a generator which *cannot* be passed to os.environ.update() | 208 | # exported_vars() returns a generator which *cannot* be passed to os.environ.update() |
| 209 | # successfully. We also need to unset anything from the environment which shouldn't be there | 209 | # successfully. We also need to unset anything from the environment which shouldn't be there |
| 210 | exports = bb.data.exported_vars(the_data) | 210 | exports = bb.data.exported_vars(the_data) |
| 211 | |||
| 211 | bb.utils.empty_environment() | 212 | bb.utils.empty_environment() |
| 212 | for e, v in exports: | 213 | for e, v in exports: |
| 213 | os.environ[e] = v | 214 | os.environ[e] = v |
| 215 | |||
| 214 | for e in fakeenv: | 216 | for e in fakeenv: |
| 215 | os.environ[e] = fakeenv[e] | 217 | os.environ[e] = fakeenv[e] |
| 216 | the_data.setVar(e, fakeenv[e]) | 218 | the_data.setVar(e, fakeenv[e]) |
| 217 | the_data.setVarFlag(e, 'export', "1") | 219 | the_data.setVarFlag(e, 'export', "1") |
| 218 | 220 | ||
| 221 | task_exports = the_data.getVarFlag(taskname, 'exports', True) | ||
| 222 | if task_exports: | ||
| 223 | for e in task_exports.split(): | ||
| 224 | the_data.setVarFlag(e, 'export', '1') | ||
| 225 | v = the_data.getVar(e, True) | ||
| 226 | if v is not None: | ||
| 227 | os.environ[e] = v | ||
| 228 | |||
| 219 | if quieterrors: | 229 | if quieterrors: |
| 220 | the_data.setVarFlag(taskname, "quieterrors", "1") | 230 | the_data.setVarFlag(taskname, "quieterrors", "1") |
| 221 | 231 | ||
