From: Felix Fietkau Date: Thu, 7 Jul 2016 10:39:27 +0000 (+0200) Subject: scripts/package-metadata.pl: fix kmod pakage dependencies within the SDK X-Git-Tag: v17.01.0-rc1~2132 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=d8dbd33eba86324742a6c9c7197fe762cae956af scripts/package-metadata.pl: fix kmod pakage dependencies within the SDK Instead of ignoring all metadata for package/kernel/linux, process it and only suppress emitting config data to tmp/.config-package.in This ensures that packages that select kmod-* packages can inherit their depdendencies. Signed-off-by: Felix Fietkau --- diff --git a/scripts/metadata.pm b/scripts/metadata.pm index c7f8532b54..8334f26d31 100644 --- a/scripts/metadata.pm +++ b/scripts/metadata.pm @@ -162,10 +162,10 @@ sub parse_package_metadata($) { $overrides{$src} = 1; }; next unless $src; - next if $ignore{$src}; /^Package:\s*(.+?)\s*$/ and do { undef $feature; $pkg = {}; + $pkg->{ignore} = $ignore{$src}; $pkg->{src} = $src; $pkg->{makefile} = $makefile; $pkg->{name} = $1; @@ -189,7 +189,7 @@ sub parse_package_metadata($) { $feature and do { /^Target-Name:\s*(.+?)\s*$/ and do { $features{$1} or $features{$1} = []; - push @{$features{$1}}, $feature; + push @{$features{$1}}, $feature unless $ignore{$src}; }; /^Target-Title:\s*(.+?)\s*$/ and $feature->{target_title} = $1; /^Feature-Priority:\s*(\d+)\s*$/ and $feature->{priority} = $1; @@ -256,7 +256,7 @@ sub parse_package_metadata($) { $preconfig = { id => $1 }; - $preconfig{$pkgname}->{$1} = $preconfig; + $preconfig{$pkgname}->{$1} = $preconfig unless $ignore{$src}; } }; /^Preconfig-Type:\s*(.*?)\s*$/ and $preconfig->{type} = $1; diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl index 92c989d3a2..44494efd28 100755 --- a/scripts/package-metadata.pl +++ b/scripts/package-metadata.pl @@ -272,6 +272,7 @@ sub print_package_config_category($) { print "menu \"$menu\"\n"; } foreach my $pkg (@pkgs) { + next if $pkg->{ignore}; my $title = $pkg->{name}; my $c = (72 - length($pkg->{name}) - length($pkg->{title})); if ($c > 0) {