diff options
author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2015-10-16 19:23:58 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-10-27 07:24:30 +0000 |
commit | 4ab7202c31482dcb42a4406ec5f35e06963a6eaf (patch) | |
tree | a645e12652e36365bfb52c21a3898ce4e10489c1 /bitbake | |
parent | fdfdfc8ccb96ce8f2d4b9644d182b1e1a5a6af28 (diff) | |
download | poky-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')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 5 | ||||
-rw-r--r-- | bitbake/lib/bb/cookerdata.py | 2 | ||||
-rwxr-xr-x | bitbake/lib/bb/main.py | 7 |
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) |