diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-10-14 05:25:50 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-10-14 05:25:50 +0000 |
commit | 08334701804b56ab2ee1e3e738922d505b187434 (patch) | |
tree | 4aeaeea46bacad2671a6d47dce82a0c37fdd8e8d | |
parent | 323d4460bf52d332bffd17595c8e67ca55748aaa (diff) |
fix duplicate dependencies
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9311 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-x | scripts/metadata.pl | 8 |
1 files changed, 7 insertions, 1 deletions
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; |