X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/dde8e9a63e4e787e64314603657aa6bd4e380128..1d1f04a661e82d3ce92c6e32919e46643cba0a2b:/scripts/metadata.pl diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 007b63ed9..bee302012 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use FindBin; use lib "$FindBin::Bin"; use strict; @@ -380,14 +380,14 @@ sub mconf_depends($$) { $depend = join("||", map { "PACKAGE_".$_ } @$vdep); } else { $flags =~ /\+/ and do { - next if $only_dep; - $m = "select"; - # Menuconfig will not treat 'select FOO' as a real dependency # 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 mconf_depends($package{$depend}->{depends}, 1, $dep); + + $m = "select"; + next if $only_dep; }; $flags =~ /@/ or $depend = "PACKAGE_$depend"; } @@ -472,7 +472,7 @@ sub print_package_config_category($) { sub gen_package_config() { parse_package_metadata($ARGV[0]) or exit 1; - print "menuconfig UCI_PRECONFIG\n\tbool \"Image configuration\"\n"; + print "menuconfig UCI_PRECONFIG\n\tbool \"Image configuration\"\n" if %preconfig; foreach my $preconfig (keys %preconfig) { foreach my $cfg (keys %{$preconfig{$preconfig}}) { my $conf = $preconfig{$preconfig}->{$cfg}->{id};