summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-07-07 12:39:27 +0200
committerFelix Fietkau <nbd@nbd.name>2016-07-07 12:47:04 +0200
commitd8dbd33eba86324742a6c9c7197fe762cae956af (patch)
treebc4a80995e116ed959662d0b17f4365284a7b813 /scripts
parentb80dfe4cdeee58551251cbaefe813c16c3a1040c (diff)
downloadopenwrt-d8dbd33eba86324742a6c9c7197fe762cae956af.tar.gz
openwrt-d8dbd33eba86324742a6c9c7197fe762cae956af.tar.bz2
openwrt-d8dbd33eba86324742a6c9c7197fe762cae956af.zip
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 <nbd@nbd.name>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/metadata.pm6
-rwxr-xr-xscripts/package-metadata.pl1
2 files changed, 4 insertions, 3 deletions
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) {