aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/feeds
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2018-01-08 12:17:30 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2018-01-13 19:54:44 +0100
commit47d6b05ad328e80e4ee05e48aa95462f3518c014 (patch)
treec1caa85b174473b25be2f5889cf4857529f13caf /scripts/feeds
parent565de8b8a8b3532d07abba7a083763ac31ca28ee (diff)
downloadupstream-47d6b05ad328e80e4ee05e48aa95462f3518c014.tar.gz
upstream-47d6b05ad328e80e4ee05e48aa95462f3518c014.tar.bz2
upstream-47d6b05ad328e80e4ee05e48aa95462f3518c014.zip
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 <mschiffer@universe-factory.net>
Diffstat (limited to 'scripts/feeds')
-rwxr-xr-xscripts/feeds4
1 files changed, 1 insertions, 3 deletions
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]);