This fixes the initial patch to cover all cases where unset symbols are
handled in the code.
Fixes commit eaa9c94c75 ("generic: Kconfig: exit on unset symbol")
Signed-off-by: David Bauer <mail@david-bauer.net>
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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);
 |