aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/hack-5.15/205-kconfig-abort-configuration-on-unset-symbol.patch
blob: a87c7a51169eb3a3c8271bcf84daf39226b78b59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
From 310e8e04a05d9eb43fa9dd7f00143300afcaa37a Mon Sep 17 00:00:00 2001
From: David Bauer <mail@david-bauer.net>
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 <mail@david-bauer.net>
---
 scripts/kconfig/conf.c | 6 ++++++
 1 file changed, 6 insertions(+)

--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -341,6 +341,9 @@ static int conf_askvalue(struct symbol *
 		}
 		/* fall through */
 	default:
+		if (!tty_stdio && getenv("FAIL_ON_UNCONFIGURED")) {
+			exit(1);
+		}
 		fflush(stdout);
 		xfgets(line, sizeof(line), stdin);
 		break;
@@ -523,6 +526,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);