diff --git a/patches/openwrt/0010-kconfig-abort-configuration-on-unset-symbol.patch b/patches/openwrt/0010-kconfig-abort-configuration-on-unset-symbol.patch new file mode 100644 index 00000000..5116508c --- /dev/null +++ b/patches/openwrt/0010-kconfig-abort-configuration-on-unset-symbol.patch @@ -0,0 +1,75 @@ +From: David Bauer +Date: Fri, 11 Nov 2022 13:37:07 +0100 +Subject: kconfig: abort configuration on unset symbol + +This fixes the initial patch to cover all cases where unset symbols are +handled in the code. + +Fixes commit eaa9c94c7574 ("generic: Kconfig: exit on unset symbol") + +Signed-off-by: David Bauer + +diff --git a/target/linux/generic/hack-5.10/205-kconfig-abort-configuration-on-unset-symbol.patch b/target/linux/generic/hack-5.10/205-kconfig-abort-configuration-on-unset-symbol.patch +new file mode 100644 +index 0000000000000000000000000000000000000000..bd5c54d4b8b73b36c9f5b809447a8e76fce19e5d +--- /dev/null ++++ b/target/linux/generic/hack-5.10/205-kconfig-abort-configuration-on-unset-symbol.patch +@@ -0,0 +1,41 @@ ++From 310e8e04a05d9eb43fa9dd7f00143300afcaa37a Mon Sep 17 00:00:00 2001 ++From: David Bauer ++Date: Fri, 11 Nov 2022 13:33:44 +0100 ++Subject: [PATCH] kconfig: abort configuration on unset symbol ++ ++When a target configuration has unset Kconfig symbols, the build will ++fail when OpenWrt is compiled with V=s and stdin is connected to a tty. ++ ++In case OpenWrt is compiled without either of these preconditions, the ++build will succeed with the symbols in question being unset. ++ ++Modify the kernel configuration in a way it fails on unset symbols ++regardless of the aforementioned preconditions. ++ ++Signed-off-by: David Bauer ++--- ++ scripts/kconfig/conf.c | 6 ++++++ ++ 1 file changed, 6 insertions(+) ++ ++--- a/scripts/kconfig/conf.c +++++ b/scripts/kconfig/conf.c ++@@ -109,6 +109,9 @@ static int conf_askvalue(struct symbol * ++ } ++ /* fall through */ ++ case oldaskconfig: +++ if (!tty_stdio && getenv("FAIL_ON_UNCONFIGURED")) { +++ exit(1); +++ } ++ fflush(stdout); ++ xfgets(line, sizeof(line), stdin); ++ return 1; ++@@ -303,6 +306,9 @@ static int conf_choice(struct menu *menu ++ } ++ /* fall through */ ++ case oldaskconfig: +++ if (!tty_stdio && getenv("FAIL_ON_UNCONFIGURED")) { +++ exit(1); +++ } ++ fflush(stdout); ++ xfgets(line, sizeof(line), stdin); ++ strip(line); +diff --git a/target/linux/generic/hack-5.10/205-kconfig-exit.patch b/target/linux/generic/hack-5.10/205-kconfig-exit.patch +deleted file mode 100644 +index c3fb7a1f999e56da34b0a15565ce36098cfba7fb..0000000000000000000000000000000000000000 +--- a/target/linux/generic/hack-5.10/205-kconfig-exit.patch ++++ /dev/null +@@ -1,11 +0,0 @@ +---- a/scripts/kconfig/conf.c +-+++ b/scripts/kconfig/conf.c +-@@ -215,6 +215,8 @@ static int conf_sym(struct menu *menu) +- break; +- continue; +- case 0: +-+ if (!sym_has_value(sym) && !tty_stdio && getenv("FAIL_ON_UNCONFIGURED")) +-+ exit(1); +- newval = oldval; +- break; +- case '?':