X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=scripts%2Fpackage-metadata.pl;h=5abc1bdef3f70e1c4cbe3f97ecfd6ea925ad88ed;hp=76b09a56ebfedbeb3634880ff505a5220c7acd4d;hb=0071c7cd8246197ae27d8a0c4b5bdf7976dbe362;hpb=a41f474d17fef8aa94fdd6a8aa9b9a4bd2e5fa0f diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl index 76b09a56eb..5abc1bdef3 100755 --- a/scripts/package-metadata.pl +++ b/scripts/package-metadata.pl @@ -191,9 +191,9 @@ sub mconf_depends { $depend = shift @vdeps; if (@vdeps > 1) { - $condition = ($condition ? "$condition && " : '') . '!('.join("||", map { "PACKAGE_".$_ } @vdeps).')'; + $condition = ($condition ? "$condition && " : '') . join("&&", map { "PACKAGE_$_ 0) { - $condition = ($condition ? "$condition && " : '') . '!PACKAGE_'.$vdeps[0]; + $condition = ($condition ? "$condition && " : '') . "PACKAGE_${vdeps[0]}{depends} || []}) { + if ($dep =~ m!^\+?(?:[^:]+:)?([^@]+)$!) { + $depends{$1}++; + } + } + my @depends = sort keys %depends; + if (@depends > 0) { + foreach my $n (@{$pkg->{provides}}) { + print "Package/$n/depends = @depends\n"; + } + } } }