X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/6c4ec74f32abcf0471c5c155912440451cf41e4d..c9b10f2eb14ea64cf300438131ca05a02ce18069:/scripts/metadata.pl diff --git a/scripts/metadata.pl b/scripts/metadata.pl index f000e9db9..fa3055620 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -375,7 +375,7 @@ sub mconf_depends { my $res; my $dep = shift; my $seen = shift; - my $condition = shift; + my $parent_condition = shift; $dep or $dep = {}; $seen or $seen = {}; @@ -386,11 +386,12 @@ sub mconf_depends { $depend =~ s/^([@\+]+)//; my $flags = $1; my $vdep; + my $condition; if ($depend =~ /^(.+):(.+)$/) { if ($1 ne "PACKAGE_$pkgname") { - if ($condition) { - $condition = "$condition && $1"; + if ($parent_condition) { + $condition = "$parent_condition && $1"; } else { $condition = $1; } @@ -398,6 +399,7 @@ sub mconf_depends { $depend = $2; } next if $seen->{$depend}; + next if $package{$depend} and $package{$depend}->{buildonly}; $seen->{$depend} = 1; if ($vdep = $package{$depend}->{vdepends}) { $depend = join("||", map { "PACKAGE_".$_ } @$vdep); @@ -442,6 +444,7 @@ sub print_package_config_category($) { foreach my $spkg (sort {uc($a) cmp uc($b)} keys %spkg) { foreach my $pkg (@{$spkg{$spkg}}) { + next if $pkg->{buildonly}; my $menu = $pkg->{submenu}; if ($menu) { $menu_dep{$menu} or $menu_dep{$menu} = $pkg->{submenudep}; @@ -543,6 +546,7 @@ sub gen_package_mk() { $config = "\$(CONFIG_PACKAGE_$name)" } if ($config) { + $pkg->{buildonly} and $config = ""; print "package-$config += $pkg->{subdir}$pkg->{src}\n"; $pkg->{prereq} and print "prereq-$config += $pkg->{subdir}$pkg->{src}\n"; }