From: Felix Fietkau Date: Wed, 11 Jan 2017 17:22:56 +0000 (+0100) Subject: scripts/package-metadata.pl: fix overriding conditional dependencies with conditional... X-Git-Tag: v17.01.0-rc1~134 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=cfd83555fc4f0bab18a26f6812da18e64df46ff3;p=openwrt%2Fstaging%2Fpepe2k.git 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 --- 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'; } }