summaryrefslogtreecommitdiffstats
path: root/scripts/feeds
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-08-26 15:13:47 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-08-26 15:13:47 +0000
commit76d517b6299e7fde412e944164081b499ba6e2ca (patch)
treee57c46dce352ac93cc0f1222841c815236aea442 /scripts/feeds
parentf9ff9d02f69bb95da2e6665a11a3e399beeb89cb (diff)
downloadmaster-31e0f0ae-76d517b6299e7fde412e944164081b499ba6e2ca.tar.gz
master-31e0f0ae-76d517b6299e7fde412e944164081b499ba6e2ca.tar.bz2
master-31e0f0ae-76d517b6299e7fde412e944164081b499ba6e2ca.zip
scripts/feeds: switch to the right feed metadata when installing a package to fix dependency handling (patch by matthijs from #5891)
SVN-Revision: 22815
Diffstat (limited to 'scripts/feeds')
-rwxr-xr-xscripts/feeds7
1 files changed, 5 insertions, 2 deletions
diff --git a/scripts/feeds b/scripts/feeds
index f2ffc3ef69..f272e13096 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -307,6 +307,9 @@ sub install_package {
return 0;
};
+ # switch to the metadata for the selected feed
+ get_feed($feed->[1]);
+
my $pkg = $feed{$feed->[1]}->{$name} or return 1;
$pkg->{name} or do {
$installed{$name} and return 0;
@@ -337,8 +340,8 @@ sub install_package {
return 1;
};
- # install all dependencies
- foreach my $vpkg (@{$feed_src->{$src}}, $pkg) {
+ # install all dependencies referenced from the source package
+ foreach my $vpkg (@{$feed_src->{$src}}) {
foreach my $dep (@{$vpkg->{depends}}, @{$vpkg->{builddepends}}, @{$vpkg->{"builddepends/host"}}) {
next if $dep =~ /@/;
$dep =~ s/^\+//;