From cfd83555fc4f0bab18a26f6812da18e64df46ff3 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
Date: Wed, 11 Jan 2017 18:22:56 +0100
Subject: [PATCH] scripts/package-metadata.pl: fix overriding conditional
 dependencies with conditional select

Conditional dependencies use the '(!cond) || dep' syntax, whereas
conditional select uses 'dep if cond'.
Add an extra check to suppress emitting a conditional if an equal
conditional select already exists.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 scripts/package-metadata.pl | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl
index f8f16f07fa..2da32c770e 100755
--- a/scripts/package-metadata.pl
+++ b/scripts/package-metadata.pl
@@ -215,11 +215,13 @@ sub mconf_depends {
 				$flags =~ /@/ or $depend = "PACKAGE_$depend";
 			}
 		}
+
 		if ($condition) {
 			if ($m =~ /select/) {
 				next if $depend eq $condition;
 				$depend = "$depend if $condition";
 			} else {
+				next if $dep->{"$depend if $condition"};
 				$depend = "!($condition) || $depend" unless $dep->{$condition} eq 'select';
 			}
 		}
-- 
GitLab