From: Matthias Schiffer Date: Thu, 4 Jan 2018 18:52:18 +0000 (+0100) Subject: metadata: make srcpackage extensible X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=19577582e437dcff50c97c5c19726b12f7b3a5ac;p=librecmc%2Flibrecmc.git metadata: make srcpackage extensible Turn the srcpackage values into hashes to allow storing more information than just binary package names. Signed-off-by: Matthias Schiffer --- diff --git a/scripts/feeds b/scripts/feeds index 55c294ad0a..0228c7ac07 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -525,7 +525,7 @@ sub install_package { }; # install all dependencies referenced from the source package - foreach my $vpkg (@{$feed_src->{$src}}) { + foreach my $vpkg (@{$feed_src->{$src}{packages}}) { foreach my $dep (@{$vpkg->{depends}}, @{$vpkg->{builddepends}}, @{$vpkg->{"builddepends/host"}}) { next if $dep =~ /@/; $dep =~ s/^\+//; diff --git a/scripts/metadata.pm b/scripts/metadata.pm index d446892e2b..fdb1fbb433 100644 --- a/scripts/metadata.pm +++ b/scripts/metadata.pm @@ -212,7 +212,9 @@ sub parse_package_metadata($) { $src = $3; $subdir =~ s/^package\///; $subdir{$src} = $subdir; - $srcpackage{$src} = []; + $srcpackage{$src} = { + packages => [], + }; $override = ""; undef $pkg; }; @@ -237,7 +239,7 @@ sub parse_package_metadata($) { $pkg->{tristate} = 1; $pkg->{override} = $override; $package{$1} = $pkg; - push @{$srcpackage{$src}}, $pkg; + push @{$srcpackage{$src}{packages}}, $pkg; }; /^Feature:\s*(.+?)\s*$/ and do { undef $pkg; diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl index 46446e994b..f03547a0d4 100755 --- a/scripts/package-metadata.pl +++ b/scripts/package-metadata.pl @@ -445,7 +445,7 @@ sub gen_package_mk() { print "buildtypes-$pkg->{subdir}$pkg->{src} = ".join(' ', @{$pkg->{buildtypes}})."\n"; } - foreach my $spkg (@{$srcpackage{$pkg->{src}}}) { + foreach my $spkg (@{$srcpackage{$pkg->{src}}{packages}}) { foreach my $dep (@{$spkg->{depends}}, @{$spkg->{builddepends}}) { $dep =~ /@/ or do { $dep =~ s/\+//g;