summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/bitbake5
-rw-r--r--lib/bb/cooker.py10
2 files changed, 13 insertions, 2 deletions
diff --git a/bin/bitbake b/bin/bitbake
index 8d6fef7b8..5398cf122 100755
--- a/bin/bitbake
+++ b/bin/bitbake
@@ -197,6 +197,9 @@ Default BBFILES are the .bb files in the current directory.""")
handler = bb.event.LogHandler()
logger.addHandler(handler)
+ # Before we start modifying the environment we should take a pristine
+ # copy for possible later use
+ initialenv = os.environ.copy()
# Clear away any spurious environment variables. But don't wipe the
# environment totally. This is necessary to ensure the correct operation
# of the UIs (e.g. for DISPLAY, etc.)
@@ -207,7 +210,7 @@ Default BBFILES are the .bb files in the current directory.""")
server.initServer()
idle = server.getServerIdleCB()
- cooker = bb.cooker.BBCooker(configuration, idle)
+ cooker = bb.cooker.BBCooker(configuration, idle, initialenv)
cooker.parseCommandLine()
server.addcooker(cooker)
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 3a72880a4..d8535a7a4 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -78,7 +78,7 @@ class BBCooker:
Manages one bitbake build run
"""
- def __init__(self, configuration, server_registration_cb):
+ def __init__(self, configuration, server_registration_cb, savedenv={}):
self.status = None
self.appendlist = {}
self.skiplist = {}
@@ -87,6 +87,14 @@ class BBCooker:
self.configuration = configuration
+ # Keep a datastore of the initial environment variables and their
+ # values from when BitBake was launched to enable child processes
+ # to use environment variables which have been cleaned from the
+ # BitBake processes env
+ self.savedenv = bb.data.init()
+ for k in savedenv:
+ self.savedenv.setVar(k, savedenv[k])
+
self.caches_array = []
# Currently, only Image Creator hob ui needs extra cache.
# So, we save Extra Cache class name and container file