From f339e5f07f84862e02d0df74d49705cececb30f0 Mon Sep 17 00:00:00 2001 From: Johannes Schneider Date: Wed, 5 Nov 2025 20:06:32 +0100 Subject: [PATCH] bitbake: bitbake-setup: fix key-error when changing a new 'section' Setting a key=value in a new section would raise a key-error when using in-memory settings, e.g: ./bin/bitbake-setup --setting default top-dir-prefix /tmp/bitbake-setup --setting default top-dir-name gs settings foo bar baz Loading settings from /tmp/bitbake-setup/gs/settings.conf Traceback (most recent call last): File "/tmp/bitbake-setup/bitbake/./bin/bitbake-setup", line 853, in main() File "/tmp/bitbake-setup/bitbake/./bin/bitbake-setup", line 838, in main all_settings = merge_settings(builtin_settings, global_settings, topdir_settings, args.setting) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/bitbake-setup/bitbake/./bin/bitbake-setup", line 733, in merge_settings all_settings[section][setting] = value ~~~~~~~~~~~~^^^^^^^^^ KeyError: 'foo' (Bitbake rev: 78ab0d15dff5ccf64b0bf681185370779e6cabaf) Signed-off-by: Johannes Schneider Signed-off-by: Richard Purdie --- bitbake/bin/bitbake-setup | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bitbake/bin/bitbake-setup b/bitbake/bin/bitbake-setup index a9035e7c81..3f56f83784 100755 --- a/bitbake/bin/bitbake-setup +++ b/bitbake/bin/bitbake-setup @@ -726,9 +726,13 @@ def merge_settings(builtin_settings, global_settings, topdir_settings, cmdline_s for s in (global_settings, topdir_settings): for section, section_settings in s.items(): for setting, value in section_settings.items(): + if section not in all_settings.keys(): + all_settings[section] = {} all_settings[section][setting] = value for (section, setting, value) in cmdline_settings: + if section not in all_settings.keys(): + all_settings[section] = {} all_settings[section][setting] = value return all_settings