aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/metadata.pm
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2018-01-11 18:38:42 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2018-01-13 19:54:45 +0100
commit52719c2b67aff4b406e23ea5ed746c6c006e85bc (patch)
treee73111b7cabd14337686764b52f0c167192b0734 /scripts/metadata.pm
parent47d6b05ad328e80e4ee05e48aa95462f3518c014 (diff)
downloadupstream-52719c2b67aff4b406e23ea5ed746c6c006e85bc.tar.gz
upstream-52719c2b67aff4b406e23ea5ed746c6c006e85bc.tar.bz2
upstream-52719c2b67aff4b406e23ea5ed746c6c006e85bc.zip
metadata: scripts/feeds: distinguish between source and binary packages, resolve virtual dependencies
Properly resolve build depends to source packages and runtime depends to binary packages. Dependencies on virtual packages are resolved to the first provider now. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Diffstat (limited to 'scripts/metadata.pm')
-rw-r--r--scripts/metadata.pm2
1 files changed, 2 insertions, 0 deletions
diff --git a/scripts/metadata.pm b/scripts/metadata.pm
index 7c82cec809..394ac1f515 100644
--- a/scripts/metadata.pm
+++ b/scripts/metadata.pm
@@ -228,6 +228,7 @@ sub parse_package_metadata($) {
$pkg->{title} = "";
$pkg->{depends} = [];
$pkg->{mdepends} = [];
+ $pkg->{provides} = [$1];
$pkg->{tristate} = 1;
$pkg->{override} = $override;
$package{$1} = $pkg;
@@ -268,6 +269,7 @@ sub parse_package_metadata($) {
/^Default: \s*(.+)\s*$/ and $pkg->{default} = $1;
/^Provides: \s*(.+)\s*$/ and do {
my @vpkg = split /\s+/, $1;
+ @{$pkg->{provides}} = ($pkg->{name}, @vpkg);
foreach my $vpkg (@vpkg) {
$vpackage{$vpkg} or $vpackage{$vpkg} = [];
push @{$vpackage{$vpkg}}, $pkg;