[PATCH 3/7] command: fix setConfig coercing bool config values to truthy strings
AdrianF <[email protected]>
| Newsgroups | org.openembedded.lists.bitbake-devel |
|---|---|
| Message-ID | <[email protected]> |
From: Adrian Freihofer <[email protected]> CommandsSync.setConfig() unconditionally stringified the value with str(params[1]) before assigning it to the cooker configuration attribute. This breaks boolean values, since str(True) and str(False) are both non-empty and therefore both truthy. That makes it impossible to turn a boolean option back off over the command interface: setting 'force' to False leaves configuration.force holding the truthy string "False", so it stays effectively enabled for the rest of the bitbake server session and spuriously invalidates tasks in later, unrelated builds sharing that session. Preserve the caller's original type instead of coercing to str. The only other caller (cookerdata.py) already passes a plain string, so this does not change behavior for it. AI-Generated: Uses GitHub Copilot Signed-off-by: Adrian Freihofer <[email protected]> --- lib/bb/command.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index 59a979ee9..b57c5d4a3 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -228,7 +228,7 @@ class CommandsSync: Set the value of variable in configuration """ varname = params[0] - value = str(params[1]) + value = params[1] setattr(command.cooker.configuration, varname, value) def enableDataTracking(self, command, params): -- 2.55.0