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 eaa9c94c75 ("generic: Kconfig: exit on unset symbol")
Signed-off-by: David Bauer <mail@david-bauer.net>
			
			
This commit is contained in:
		| @@ -0,0 +1,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 | ||||
| @@ -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); | ||||
| @@ -1,28 +0,0 @@ | ||||
| From: David Bauer <mail@david-bauer.net> | ||||
| Subject: Kconfig: exit 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. | ||||
|  | ||||
| Submitted-by: David Bauer <mail@david-bauer.net> | ||||
| --- | ||||
|  scripts/kconfig/conf.c                                |  2 + | ||||
|  1 files changed, 2 insertions(+) | ||||
|  | ||||
| --- 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 '?': | ||||
| @@ -0,0 +1,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); | ||||
| @@ -1,20 +0,0 @@ | ||||
| From 300d26562ce4dc427154cb247beb75db4b1f0774 Mon Sep 17 00:00:00 2001 | ||||
| From: OpenWrt community <openwrt-devel@lists.openwrt.org> | ||||
| Date: Wed, 13 Jul 2022 13:29:57 +0200 | ||||
| Subject: [PATCH] scripts/Kconfig: Kconfig exit | ||||
|  | ||||
| --- | ||||
|  scripts/kconfig/conf.c | 2 ++ | ||||
|  1 file changed, 2 insertions(+) | ||||
|  | ||||
| --- a/scripts/kconfig/conf.c | ||||
| +++ b/scripts/kconfig/conf.c | ||||
| @@ -435,6 +435,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 '?': | ||||
		Reference in New Issue
	
	Block a user
	 David Bauer
					David Bauer