[bitbake-devel] [PATCH 07/13] bitbake: cooker, command: add a command to return global data

Richard Purdie richard.purdie at linuxfoundation.org
Fri Sep 13 14:52:46 UTC 2013


On Mon, 2013-09-09 at 17:40 +0100, Alex DAMIAN wrote:
> 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 the DSI to store the build configuration.
> 
> Signed-off-by: Alexandru DAMIAN <alexandru.damian at intel.com>
> ---
>  bitbake/lib/bb/command.py |  7 +++++++
>  bitbake/lib/bb/cooker.py  | 13 +++++++++++++
>  2 files changed, 20 insertions(+)
> 
> diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
> index 3527ad0..4d36c4b 100644
> --- a/bitbake/lib/bb/command.py
> +++ b/bitbake/lib/bb/command.py
> @@ -145,6 +145,13 @@ class CommandsSync:
>          """
>          command.cooker.stop()
>  
> +    def getDataDump(self, command, params):
> +        """
> +        Returns a dump of the global state.
> +        """
> +        return command.cooker.getGlobalExpandedData()
> +    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 9fd3417..383c9c4 100644
> --- a/bitbake/lib/bb/cooker.py
> +++ b/bitbake/lib/bb/cooker.py
> @@ -1117,6 +1117,19 @@ class BBCooker:
>  
>          self.configuration.server_register_idlecallback(buildTargetsIdle, rq)
>  
> +
> +    def getGlobalExpandedData(self):
> +        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, 'd' : self.data.getVarFlag(k, 'doc') }
> +            except:
> +                pass
> +        return dump

There is a 'doc' hardcoded into there, perhaps this should be a better
named command and take a parameter?

Cheers,

Richard




More information about the bitbake-devel mailing list