summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2020-08-25 10:54:14 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-08-25 18:14:46 +0100
commit4bb71b627767297269e762b414443e15e28bfac4 (patch)
treeb33d3406a0a5ccb3240a30fe32e3fa44b37487dd
parent5b12bf30bccdd00262e74964223220c649040be4 (diff)
downloadbitbake-4bb71b627767297269e762b414443e15e28bfac4.tar.gz
cooker: Ensure cooker's enviroment is updated on updateConfig
Only the env variables which were added to the datastore were being updated. We need to update the whole copy, we just only trigger a reparse if any of the variables making it into the datastore change. This avoids a bug where variables such as DISPLAY in a new UI context would break under memory resident bitbake. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/cooker.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 754303813..fc017dd19 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -479,6 +479,10 @@ class BBCooker:
logger.debug(1, "Updating environment variable %s from %s to %s" % (k, self.configuration.env[k], environment[k]))
self.configuration.env[k] = environment[k]
clean = False
+
+ # Now update all the variables not in the datastore to match
+ self.configuration.env = environment
+
if not clean:
logger.debug(1, "Base environment change, triggering reparse")
self.reset()