From: Felix Fietkau Date: Sun, 15 Mar 2015 11:07:57 +0000 (+0000) Subject: scripts/feeds: get rid of redundant feed cache copy X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b7ebb19b02cb814abea57b2aa35dd163334675a6;p=librecmc%2Flibrecmc.git scripts/feeds: get rid of redundant feed cache copy Signed-off-by: Felix Fietkau SVN-Revision: 44779 --- 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;