From 47d6b05ad328e80e4ee05e48aa95462f3518c014 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 8 Jan 2018 12:17:30 +0100 Subject: metadata: always resolve dependencies through provides list Instead of adding virtual packages to the normal package list, keep a separate list for provides, make each package provide itself, and resolve all dependencies through this list. This allows to use PROVIDES to replace existing packages. Fixes FS#837. Signed-off-by: Matthias Schiffer --- scripts/feeds | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'scripts/feeds') diff --git a/scripts/feeds b/scripts/feeds index 4595c824a4..f5d764a175 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -252,7 +252,6 @@ sub search_feed { my $substr; my $pkgmatch = 1; - next if $pkg->{vdepends}; foreach my $substr (@substr) { my $match; foreach my $key (qw(name title description src)) { @@ -306,7 +305,6 @@ sub list_feed { get_feed($feed); foreach my $name (sort { lc($a) cmp lc($b) } keys %$feed_package) { my $pkg = $feed_package->{$name}; - next if $pkg->{vdepends}; if($pkg->{name}) { printf "\%-32s\t\%s\n", $pkg->{name}, $pkg->{title}; } @@ -534,6 +532,7 @@ sub install_package { @{$feed_src->{$src}{"builddepends/host"}}, map { @{$_->{depends}} } @{$feed_src->{$src}{packages}} ) { + # TODO: handle virtual packages and PROVIDES next if $dep =~ /@/; $dep =~ s/^\+//; $dep =~ s/^.+://; @@ -594,7 +593,6 @@ sub install { get_feed($f->[1]); foreach my $name (sort { lc($a) cmp lc($b) } keys %$feed_package) { my $p = $feed_package->{$name}; - next if $p->{vdepends}; if( $p->{name} ) { install_package($feed, $p->{name}, exists($opts{f})) == 0 or $ret = 1; get_feed($f->[1]); -- cgit v1.2.3