From: Felix Fietkau Date: Sun, 14 Oct 2007 05:25:50 +0000 (+0000) Subject: fix duplicate dependencies X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=80b7ff39f9d2dca5a411610f78d7f093368a484f;p=openwrt%2Fstaging%2Frobimarko.git fix duplicate dependencies SVN-Revision: 9311 --- diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 580e29ea0b..4fa7be0412 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -301,6 +301,8 @@ sub mconf_depends($$) { my $depends = shift; my $only_dep = shift; my $res; + my $dep = shift; + $dep or $dep = {}; $depends or return; my @depends = @$depends; @@ -321,10 +323,14 @@ sub mconf_depends($$) { # thus if FOO depends on other config options, these dependencies # will not be checked. To fix this, we simply emit all of FOO's # depends here as well. - $package{$depend} and $res .= mconf_depends($package{$depend}->{depends}, 1); + $package{$depend} and mconf_depends($package{$depend}->{depends}, 1, $dep); }; $flags =~ /@/ or $depend = "PACKAGE_$depend"; } + $dep->{$depend} =~ /select/ or $dep->{$depend} = $m; + } + foreach my $depend (keys %$dep) { + my $m = $dep->{$depend}; $res .= "\t\t$m $depend\n"; } return $res;