aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/feeds
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-03-15 11:07:57 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-03-15 11:07:57 +0000
commitb7ebb19b02cb814abea57b2aa35dd163334675a6 (patch)
treec37f17f02ab1de0e9b11632dee8645297abd00ad /scripts/feeds
parent0efcb02c9d0c99ad90325ef523c0956b2a3cb799 (diff)
downloadupstream-b7ebb19b02cb814abea57b2aa35dd163334675a6.tar.gz
upstream-b7ebb19b02cb814abea57b2aa35dd163334675a6.tar.bz2
upstream-b7ebb19b02cb814abea57b2aa35dd163334675a6.zip
scripts/feeds: get rid of redundant feed cache copy
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44779
Diffstat (limited to 'scripts/feeds')
-rwxr-xr-xscripts/feeds14
1 files changed, 6 insertions, 8 deletions
diff --git a/scripts/feeds b/scripts/feeds
index 6e30b5a20f..a1795e1639 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -366,16 +366,14 @@ sub do_install_package($$) {
return 0;
}
-my %feed;
-
sub lookup_package($$) {
my $feed = shift;
my $package = shift;
foreach my $feed ($feed, @feeds) {
next unless $feed->[1];
- next unless $feed{$feed->[1]};
- $feed{$feed->[1]}->{$package} and return $feed;
+ next unless $feed_cache{$feed->[1]};
+ $feed_cache{$feed->[1]}->[0]->{$package} and return $feed;
}
return;
}
@@ -404,9 +402,9 @@ sub install_package {
};
# switch to the metadata for the selected feed
- get_feed($feed->[1]);
+ my $cur = get_feed($feed->[1]);
- my $pkg = $feed{$feed->[1]}->{$name} or return 1;
+ my $pkg = $cur->{$name} or return 1;
$pkg->{name} or do {
$installed{$name} and return 0;
# TODO: check if this is an alias package, maybe it's known by another name
@@ -488,8 +486,8 @@ sub install {
get_installed();
foreach my $f (@feeds) {
- # index all feeds
- $feed{$f->[1]} = get_feed($f->[1]);
+ # fetch all feeds
+ get_feed($f->[1]);
# look up the preferred feed
$opts{p} and $f->[1] eq $opts{p} and $feed = $f;