From 2335304a08827f4f083eba2bfb73163516c5fd57 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 22 Jul 2012 21:00:07 +0000
Subject: [PATCH] build: ensure that reordering of KCONFIG lines are handled
 properly and that the final result does not depend on the package scan order

SVN-Revision: 32788
---
 scripts/kconfig.pl  | 5 ++++-
 scripts/metadata.pl | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/kconfig.pl b/scripts/kconfig.pl
index 8113273538..b91cdf397a 100755
--- a/scripts/kconfig.pl
+++ b/scripts/kconfig.pl
@@ -73,7 +73,10 @@ sub config_add($$$) {
 		my %cfg = %$_;
 		
 		foreach my $config (keys %cfg) {
-			next if $mod_plus and $config{$config} and $config{$config} eq "y";
+			if ($mod_plus and $config{$config}) {
+				next if $config{$config} eq "y";
+				next if $cfg{$config} eq '#undef';
+			}
 			$config{$config} = $cfg{$config};
 		}
 	}
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index d250a71978..bd6dbc54ac 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -115,6 +115,7 @@ sub gen_kconfig_overrides() {
 					$val = $2;
 				}
 				if ($config{"CONFIG_PACKAGE_$package"} and ($config ne 'n')) {
+					next if $kconfig{$config} eq 'y';
 					$kconfig{$config} = $val;
 				} elsif (!$override) {
 					$kconfig{$config} or $kconfig{$config} = 'n';
-- 
GitLab