X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/b04cc1a5e186d8a09e6faa2028c7755f401cc56f..bc3d4f5dfda1c350e57c92b63e6900c04c23978d:/scripts/feeds diff --git a/scripts/feeds b/scripts/feeds index deafaca12..3932a2d6d 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; }