[source] scripts/package-metadata.pl: fix kmod pakage dependencies within the SDK

LEDE Commits lede-commits at lists.infradead.org
Thu Jul 7 03:47:14 PDT 2016


nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/?p=source.git;a=commitdiff;h=d8dbd33eba86324742a6c9c7197fe762cae956af

commit d8dbd33eba86324742a6c9c7197fe762cae956af
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Thu Jul 7 12:39:27 2016 +0200

    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 at nbd.name>
---
 scripts/metadata.pm         | 6 +++---
 scripts/package-metadata.pl | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/scripts/metadata.pm b/scripts/metadata.pm
index c7f8532..8334f26 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 92c989d..44494ef 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) {



More information about the lede-commits mailing list