X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/e83c4ff72150271fc703f362b0b6acee11d51d8c..0cc51371c037da2041da11d766d41122ded5a2d7:/scripts/metadata.pl diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 3d9d68a65..1971607eb 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -163,6 +163,7 @@ sub target_config_features(@) { /tgz/ and $ret .= "\tselect USES_TGZ\n"; /cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n"; /fpu/ and $ret .= "\tselect HAS_FPU\n"; + /ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n"; } return $ret; } @@ -414,12 +415,12 @@ sub mconf_depends { $depend =~ s/^([@\+]+)//; my $flags = $1; my $vdep; - my $condition; + my $condition = $parent_condition; if ($depend =~ /^(.+):(.+)$/) { if ($1 ne "PACKAGE_$pkgname") { - if ($parent_condition) { - $condition = "$parent_condition && $1"; + if ($condition) { + $condition = "$condition && $1"; } else { $condition = $1; } @@ -675,23 +676,24 @@ sub gen_package_mk() { foreach my $dep (@deps) { $pkg_dep = $package{$deps}; if (defined $pkg_dep->{src}) { - ($pkg->{src} ne $pkg_dep->{src}) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src}; + ($pkg->{src} ne $pkg_dep->{src}.$suffix) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src}; } elsif (defined($srcpackage{$dep})) { $idx = $subdir{$dep}.$dep; } + $idx .= $suffix; undef $idx if $idx =~ /^(kernel)|(base-files)$/; if ($idx) { my $depline; - next if $pkg->{src} eq $pkg_dep->{src}; + next if $pkg->{src} eq $pkg_dep->{src}.$suffix; next if $dep{$pkg->{src}."->".$idx}; next if $dep{$pkg->{src}."->($dep)".$idx} and $pkg_dep->{vdepends}; my $depstr; if ($pkg_dep->{vdepends}) { - $depstr = "\$(if \$(CONFIG_PACKAGE_$dep),\$(curdir)/$idx$suffix/compile)"; + $depstr = "\$(if \$(CONFIG_PACKAGE_$dep),\$(curdir)/$idx/compile)"; $dep{$pkg->{src}."->($dep)".$idx} = 1; } else { - $depstr = "\$(curdir)/$idx$suffix/compile"; + $depstr = "\$(curdir)/$idx/compile"; $dep{$pkg->{src}."->".$idx} = 1; } $depline = get_conditional_dep($condition, $depstr);