summaryrefslogtreecommitdiffstats
path: root/bitbake
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:53 +0100
commitac3593f6ed8f2ffb0bb62df47220b598cc1781f6 (patch)
tree7dec57ccbd3d532488f3f883815e9963efe18251 /bitbake
parent8ce3e9a76dd34be067486c014b9a9a1fc52854bc (diff)
downloadpoky-ac3593f6ed8f2ffb0bb62df47220b598cc1781f6.tar.gz
bitbake: 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. (Bitbake rev: 4bb71b627767297269e762b414443e15e28bfac4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/cooker.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 754303813b..fc017dd19f 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -479,6 +479,10 @@ class BBCooker:
479 logger.debug(1, "Updating environment variable %s from %s to %s" % (k, self.configuration.env[k], environment[k])) 479 logger.debug(1, "Updating environment variable %s from %s to %s" % (k, self.configuration.env[k], environment[k]))
480 self.configuration.env[k] = environment[k] 480 self.configuration.env[k] = environment[k]
481 clean = False 481 clean = False
482
483 # Now update all the variables not in the datastore to match
484 self.configuration.env = environment
485
482 if not clean: 486 if not clean:
483 logger.debug(1, "Base environment change, triggering reparse") 487 logger.debug(1, "Base environment change, triggering reparse")
484 self.reset() 488 self.reset()