From: Frantisek Sumsal Date: Sat, 5 Aug 2023 14:35:09 +0000 (+0200) Subject: ukify: don't panic when prepending to an undefined list X-Git-Tag: v255-rc1~810 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0be1de7ffc4a608482e45890425b6fd90f6073f0;p=thirdparty%2Fsystemd.git ukify: don't panic when prepending to an undefined list Handle the case when all the arguments are passed in through a configuration file: $ cat ukify.conf [UKI] Linux = /boot/vmlinuz-linux Initrd = /boot/initramfs-linux.img Before: $ src/ukify/ukify.py --config ukify.conf build Traceback (most recent call last): File "/root/systemd/src/ukify/ukify.py", line 1604, in main() File "/root/systemd/src/ukify/ukify.py", line 1590, in main opts = parse_args() ^^^^^^^^^^^^ File "/root/systemd/src/ukify/ukify.py", line 1584, in parse_args apply_config(opts) File "/root/systemd/src/ukify/ukify.py", line 1431, in apply_config item.apply_config(namespace, section_name, group, key, value) File "/root/systemd/src/ukify/ukify.py", line 1123, in apply_config self.config_push(namespace, group, dest, value) File "/root/systemd/src/ukify/ukify.py", line 1019, in config_list_prepend setattr(namespace, dest, value + old) ~~~~~~^~~~~ TypeError: can only concatenate list (not "NoneType") to list After: $ src/ukify/ukify.py --config ukify.conf build Kernel version not specified, starting autodetection 😖. Found uname version: 6.4.7-arch1-3 Wrote unsigned vmlinuz-linux.unsigned.efi Resolves: #28688 --- diff --git a/src/ukify/ukify.py b/src/ukify/ukify.py index 8324942f992..cf7db49bdd1 100755 --- a/src/ukify/ukify.py +++ b/src/ukify/ukify.py @@ -1016,6 +1016,8 @@ class ConfigItem: assert not group old = getattr(namespace, dest, []) + if old is None: + old = [] setattr(namespace, dest, value + old) @staticmethod