[bitbake-devel] [PATCH 6/8] bitbake: cooker, command: add a command to return global data
Alex DAMIAN
alexandru.damian at intel.com
Mon Sep 16 11:56:56 UTC 2013
From: Alexandru DAMIAN <alexandru.damian at intel.com>
Adding the 'getDataDump' read-only command that will
return a dump of the global data state.
This will be used by UI clients to get the build configuration.
Signed-off-by: Alexandru DAMIAN <alexandru.damian at intel.com>
---
bitbake/lib/bb/command.py | 8 ++++++++
bitbake/lib/bb/cooker.py | 15 +++++++++++++++
2 files changed, 23 insertions(+)
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
index f1abaf7..84136f1 100644
--- a/bitbake/lib/bb/command.py
+++ b/bitbake/lib/bb/command.py
@@ -145,6 +145,14 @@ class CommandsSync:
"""
command.cooker.shutdown(True)
+ def getDataDump(self, command, params):
+ """
+ Returns a dump of the global state. Call with
+ variable flags to be retrieved as params.
+ """
+ return command.cooker.getGlobalExpandedData(params)
+ getDataDump.readonly = True
+
def getVariable(self, command, params):
"""
Read the value of a variable from data
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index cb0e3e5..12155b9 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1134,6 +1134,21 @@ class BBCooker:
self.configuration.server_register_idlecallback(buildTargetsIdle, rq)
+
+ def getGlobalExpandedData(self, flags):
+ dump = {}
+ for k in self.data.keys():
+ try:
+ v = self.data.getVar(k, True)
+ if not k.startswith("__") and not bool(self.data.getVarFlag(k, 'func')) and not isinstance(v, bb.data_smart.DataSmart):
+ dump[k] = { 'v' : v }
+ for d in flags:
+ dump[k][d] = self.data.getVarFlag(k, d)
+ except:
+ pass
+ return dump
+
+
def generateNewImage(self, image, base_image, package_queue, timestamp, description):
'''
Create a new image with a "require"/"inherit" base_image statement
--
1.8.1.2
More information about the bitbake-devel
mailing list