From: nbd Date: Sun, 14 Oct 2007 05:25:50 +0000 (+0000) Subject: fix duplicate dependencies X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/08334701804b56ab2ee1e3e738922d505b187434 fix duplicate dependencies git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9311 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 580e29ea0..4fa7be041 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;