bitbake: lib/bb/command.py: ensure setVariable only sets values as strings
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Tue, 11 Sep 2012 16:52:00 +0000 (17:52 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 14 Sep 2012 08:50:32 +0000 (09:50 +0100)
This is the interface Hob uses to set variable values in many instances,
and at the moment it is possible that some of the values it passes are
not strings. If a non-string value gets into the datastore it can
trigger exceptions during parsing when we attempt to expand the variable
and substitute in the non-string value.

This fixes using the meta-ti layer within Hob - it currently has a
reference to BB_NUMBER_THREADS within a shell function and since this
is a variable that Hob was setting from its configuration as an integer,
due to the above this was triggering an ExpansionError.

Fixes [YOCTO #2875].

(Bitbake rev: 855b71d8a8e468bfeff9e1a6699d79d68ab27aa1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/command.py

index fd8912a..27b5171 100644 (file)
@@ -157,7 +157,7 @@ class CommandsSync:
         Set the value of variable in configuration.data
         """
         varname = params[0]
-        value = params[1]
+        value = str(params[1])
         command.cooker.configuration.data.setVar(varname, value)
 
     def initCooker(self, command, params):