When a target configuration has unser 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 uscceed with the symbols in question being unset.

Modify the kernel configuration in a way it fails on unset symbols
regardless of the aformentioned preconditions.

Signed-off-by: David Bauer <m...@david-bauer.net>
---
 include/kernel-build.mk                               |  1 +
 target/linux/generic/hack-5.10/205-kconfig-exit.patch | 11 +++++++++++
 target/linux/generic/hack-5.4/205-kconfig-exit.patch  | 11 +++++++++++
 3 files changed, 23 insertions(+)
 create mode 100644 target/linux/generic/hack-5.10/205-kconfig-exit.patch
 create mode 100644 target/linux/generic/hack-5.4/205-kconfig-exit.patch

diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 66a9f64c80..80da4455bc 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -132,6 +132,7 @@ define BuildKernel
   $(LINUX_DIR)/.modules: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
   $(LINUX_DIR)/.modules: export 
PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig
   $(LINUX_DIR)/.modules: export 
PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
+  $(LINUX_DIR)/.modules: export FAIL_ON_UNCONFIGURED=1
   $(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE
        $(Kernel/CompileModules)
        touch $$@
diff --git a/target/linux/generic/hack-5.10/205-kconfig-exit.patch 
b/target/linux/generic/hack-5.10/205-kconfig-exit.patch
new file mode 100644
index 0000000000..8931ad3270
--- /dev/null
+++ b/target/linux/generic/hack-5.10/205-kconfig-exit.patch
@@ -0,0 +1,11 @@
+--- a/scripts/kconfig/conf.c
++++ b/scripts/kconfig/conf.c
+@@ -212,6 +212,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 '?':
diff --git a/target/linux/generic/hack-5.4/205-kconfig-exit.patch 
b/target/linux/generic/hack-5.4/205-kconfig-exit.patch
new file mode 100644
index 0000000000..8931ad3270
--- /dev/null
+++ b/target/linux/generic/hack-5.4/205-kconfig-exit.patch
@@ -0,0 +1,11 @@
+--- a/scripts/kconfig/conf.c
++++ b/scripts/kconfig/conf.c
+@@ -212,6 +212,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 '?':
-- 
2.32.0


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to