X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=scripts%2Ffeeds;h=3932a2d6d94dc10a615b89ad9ded0083e1118c26;hp=deafaca126c6fd89cadf97715f30c506c4a6c63c;hb=aa8e2e8685a03180c67309c4a14d1ab47a80c41d;hpb=89181213dceb491a53d9a848e155f628d81e3c8b diff --git a/scripts/feeds b/scripts/feeds index deafaca126..3932a2d6d9 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -46,7 +46,7 @@ sub parse_config() { $line[0] =~ /^src-\w+$/ or $valid = 0; $line[1] =~ /^\w+$/ or $valid = 0; @src = split /\s+/, $line[2]; - $valid or die "Syntax error in feeds.list, line: $line\n"; + $valid or die "Syntax error in feeds.conf, line: $line\n"; $name{$line[1]} and die "Duplicate feed name '$line[1]', line: $line\n"; $name{$line[1]} = 1; @@ -179,6 +179,7 @@ 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)) { @@ -212,6 +213,7 @@ sub list_feed { get_feed($feed); foreach my $name (sort { lc($a) cmp lc($b) } keys %package) { my $pkg = $package{$name}; + next if $pkg->{vdepends}; if($pkg->{name}) { printf "\%-32s\t\%s\n", $pkg->{name}, $pkg->{title}; } @@ -327,10 +329,11 @@ sub install_package { # install all dependencies foreach my $vpkg (@{$srcpackage{$src}}, $pkg) { - foreach my $dep (@{$vpkg->{depends}}, @{$vpkg->{builddepends}}) { + foreach my $dep (@{$vpkg->{depends}}, @{$vpkg->{builddepends}}, @{$vpkg->{"builddepends/host"}}) { next if $dep =~ /@/; $dep =~ s/^\+//; $dep =~ s/^.+://; + $dep =~ s/\/.+$//; next unless $dep; install_package($feed, $dep) == 0 or $ret = 1; } @@ -383,6 +386,7 @@ sub install { get_feed($f->[1]); foreach my $name (sort { lc($a) cmp lc($b) } keys %package) { my $p = $package{$name}; + next if $p->{vdepends}; if( $p->{name} ) { install_package($feed, $p->{name}) == 0 or $ret = 1; }