summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-31 17:04:49 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-31 17:34:59 +0100
commit9dc7f384db0479569ff93a76a623d5395fecaf47 (patch)
tree3e44e311ddceed523510b35c796102a17e65b912
parent8104b33656de0b619943bd7a9884eb650ccafbf4 (diff)
downloadbitbake-contrib-9dc7f384db0479569ff93a76a623d5395fecaf47.zip
bitbake-contrib-9dc7f384db0479569ff93a76a623d5395fecaf47.tar.gz
bitbake-contrib-9dc7f384db0479569ff93a76a623d5395fecaf47.tar.bz2
cooker: Handle datastore tracking for showEnvironment server side only
The current passing of "tracking" backwards and forwards, client to server is ugly and complex and error prone. Instead, set this during showEnvironment commands triggering a reset there if/as required. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/cooker.py11
-rw-r--r--lib/bb/cookerdata.py7
2 files changed, 11 insertions, 7 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 2ee349e..ad08c47 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -415,7 +415,7 @@ class BBCooker:
self.ui_cmdline = cmdline
clean = True
for o in options:
- if o in ['prefile', 'postfile', 'tracking']:
+ if o in ['prefile', 'postfile']:
server_val = getattr(self.configuration, "%s_server" % o, None)
if not options[o] and server_val:
# restore value provided on server start
@@ -486,6 +486,12 @@ class BBCooker:
if not pkgs_to_build:
pkgs_to_build = []
+ orig_tracking = self.configuration.tracking
+ if not orig_tracking:
+ self.enableDataTracking()
+ self.reset()
+
+
if buildfile:
# Parse the configuration here. We need to do it explicitly here since
# this showEnvironment() code path doesn't use the cache
@@ -530,6 +536,9 @@ class BBCooker:
if envdata.getVarFlag(e, 'func', False) and envdata.getVarFlag(e, 'python', False):
logger.plain("\npython %s () {\n%s}\n", e, envdata.getVar(e, False))
+ if not orig_tracking:
+ self.disableDataTracking()
+ self.reset()
def buildTaskData(self, pkgs_to_build, task, abort, allowincomplete=False):
"""
diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py
index 55c6ea8..197db62 100644
--- a/lib/bb/cookerdata.py
+++ b/lib/bb/cookerdata.py
@@ -41,10 +41,6 @@ class ConfigParameters(object):
self.options.pkgs_to_build = targets or []
- self.options.tracking = False
- if hasattr(self.options, "show_environment") and self.options.show_environment:
- self.options.tracking = True
-
for key, val in self.options.__dict__.items():
setattr(self, key, val)
@@ -76,7 +72,7 @@ class ConfigParameters(object):
for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp",
"verbose", "debug", "dry_run", "dump_signatures",
"debug_domains", "extra_assume_provided", "profile",
- "prefile", "postfile", "tracking", "server_timeout"]:
+ "prefile", "postfile", "server_timeout"]:
options[o] = getattr(self.options, o)
ret, error = server.runCommand(["updateConfig", options, environment, sys.argv])
@@ -158,7 +154,6 @@ class CookerConfiguration(object):
if key in parameters.options.__dict__:
setattr(self, key, parameters.options.__dict__[key])
self.env = parameters.environment.copy()
- self.tracking = parameters.tracking
def setServerRegIdleCallback(self, srcb):
self.server_register_idlecallback = srcb