From 34df1ab7fbde8f20a004284174cc691c89af7487 Mon Sep 17 00:00:00 2001 From: Poltern <2363951+Poltern@users.noreply.github.com> Date: Thu, 7 Dec 2023 18:49:51 +0700 Subject: [PATCH] kernel-config: Sync fixes from BLFS --- chapter10/kernel/Makefile | 5 ++++- chapter10/kernel/kernel-config.py | 9 ++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/chapter10/kernel/Makefile b/chapter10/kernel/Makefile index e04d2d6..03de71e 100644 --- a/chapter10/kernel/Makefile +++ b/chapter10/kernel/Makefile @@ -19,5 +19,8 @@ s-kernel-version: fi touch s-kernel-version -%.xml: %.toml kernel-config.py kernel_version.py kernel.version +%.xml.tmp: %.toml kernel-config.py kernel_version.py kernel.version ./kernel-config.py $(KERNEL_TREE) $< > $@ + +%.xml: %.xml.tmp + mv $< $@ diff --git a/chapter10/kernel/kernel-config.py b/chapter10/kernel/kernel-config.py index a361131..eac2b6c 100644 --- a/chapter10/kernel/kernel-config.py +++ b/chapter10/kernel/kernel-config.py @@ -185,6 +185,10 @@ def load_kconfig(file): if_stack += [top] elif line.startswith('endif'): if_stack = if_stack[:-1] + + if config_buf: + r += [parse_config(config_buf)] + return r known_config = {} @@ -247,6 +251,7 @@ sep = known_config.get('separate_toplevel_menu') for i0, val, i1, title, arrow, key, menu, comment in r: rem = max_line + is_choice = (val == '(X)') if val: val += (max_val_len[menu] - len(val)) * ' ' @@ -259,7 +264,9 @@ for i0, val, i1, title, arrow, key, menu, comment in r: if len(title) > rem: title = title[:rem - 3] + '...' - b = title.lstrip('YyMmNnHh') + b = title + if not is_choice: + b = b.lstrip('YyMmNnHh.' + "".join(map(str, range(10)))) a = title[:len(title) - len(b)] b0 = "" + escape(b[0]) + "" line += escape(a) + b0 + escape(b[1:]) + escape(arrow)