summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2015-10-16 19:23:58 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-10-27 07:24:30 +0000
commit4ab7202c31482dcb42a4406ec5f35e06963a6eaf (patch)
treea645e12652e36365bfb52c21a3898ce4e10489c1 /bitbake/lib/bb
parentfdfdfc8ccb96ce8f2d4b9644d182b1e1a5a6af28 (diff)
downloadpoky-4ab7202c31482dcb42a4406ec5f35e06963a6eaf.tar.gz
bitbake: cooker: preserve pre and post configs
Additional config files passed to bitbake server with --read and --postread options are rewritten by client bitbake even if it doesn't use those options. This is a show stopper for toaster as toaster command line builds are based on the assumption that server is aware of toster configs, provided by --postread option. This behaviour is fixed by preserving values of --read and --postread options when bitbake server starts and restoring them if client bitbake doesn't explicitly specify them. (Bitbake rev: 02c64f7487ca8ec5d32c440f5002c4b8f64b76a6) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/cooker.py5
-rw-r--r--bitbake/lib/bb/cookerdata.py2
-rwxr-xr-xbitbake/lib/bb/main.py7
3 files changed, 14 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index a416d2efe1..276e42eec2 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -531,6 +531,11 @@ class BBCooker:
531 for o in options: 531 for o in options:
532 if o in ['prefile', 'postfile']: 532 if o in ['prefile', 'postfile']:
533 clean = False 533 clean = False
534 server_val = getattr(self.configuration, "%s_server" % o)
535 if not options[o] and server_val:
536 # restore value provided on server start
537 setattr(self.configuration, o, server_val)
538 continue
534 setattr(self.configuration, o, options[o]) 539 setattr(self.configuration, o, options[o])
535 for k in bb.utils.approved_variables(): 540 for k in bb.utils.approved_variables():
536 if k in environment and k not in self.configuration.env: 541 if k in environment and k not in self.configuration.env:
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py
index a3fa55256d..671c0cb0e2 100644
--- a/bitbake/lib/bb/cookerdata.py
+++ b/bitbake/lib/bb/cookerdata.py
@@ -129,6 +129,8 @@ class CookerConfiguration(object):
129 self.extra_assume_provided = [] 129 self.extra_assume_provided = []
130 self.prefile = [] 130 self.prefile = []
131 self.postfile = [] 131 self.postfile = []
132 self.prefile_server = []
133 self.postfile_server = []
132 self.debug = 0 134 self.debug = 0
133 self.cmd = None 135 self.cmd = None
134 self.abort = True 136 self.abort = True
diff --git a/bitbake/lib/bb/main.py b/bitbake/lib/bb/main.py
index 8762f7220a..c8530fc3d8 100755
--- a/bitbake/lib/bb/main.py
+++ b/bitbake/lib/bb/main.py
@@ -383,6 +383,13 @@ def bitbake_main(configParams, configuration):
383 # Collect the feature set for the UI 383 # Collect the feature set for the UI
384 featureset = getattr(ui_module, "featureSet", []) 384 featureset = getattr(ui_module, "featureSet", [])
385 385
386 if configParams.server_only:
387 for param in ('prefile', 'postfile'):
388 value = getattr(configParams, param)
389 if value:
390 setattr(configuration, "%s_server" % param, value)
391 param = "%s_server" % param
392
386 if not configParams.remote_server: 393 if not configParams.remote_server:
387 # we start a server with a given configuration 394 # we start a server with a given configuration
388 server = start_server(servermodule, configParams, configuration, featureset) 395 server = start_server(servermodule, configParams, configuration, featureset)