summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-08-26 15:13:47 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-08-26 15:13:47 +0000
commit30d6c703dc7de9674b42414a61c64bda9ef4e691 (patch)
tree45431b5aa22924a01a4449ac4767caa97d08b4e7
parent5e82366ac73be45fa284b6077c01cabb4fd11378 (diff)
scripts/feeds: switch to the right feed metadata when installing a package to fix dependency handling (patch by matthijs from #5891)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22815 3c298f89-4303-0410-b956-a3cf2f4a3e73
-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/^\+//;