diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index a416d2efe1..276e42eec2 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -531,6 +531,11 @@ def updateConfigOpts(self, options, environment): for o in options: if o in ['prefile', 'postfile']: clean = False + server_val = getattr(self.configuration, "%s_server" % o) + if not options[o] and server_val: + # restore value provided on server start + setattr(self.configuration, o, server_val) + continue setattr(self.configuration, o, options[o]) for k in bb.utils.approved_variables(): if k in environment and k not in self.configuration.env: diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index a3fa55256d..671c0cb0e2 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -129,6 +129,8 @@ def __init__(self): self.extra_assume_provided = [] self.prefile = [] self.postfile = [] + self.prefile_server = [] + self.postfile_server = [] self.debug = 0 self.cmd = None self.abort = True diff --git a/lib/bb/main.py b/lib/bb/main.py index 8762f7220a..c8530fc3d8 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -383,6 +383,13 @@ def bitbake_main(configParams, configuration): # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) + if configParams.server_only: + for param in ('prefile', 'postfile'): + value = getattr(configParams, param) + if value: + setattr(configuration, "%s_server" % param, value) + param = "%s_server" % param + if not configParams.remote_server: # we start a server with a given configuration server = start_server(servermodule, configParams, configuration, featureset)