diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2008-07-08 17:59:25 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2008-07-08 17:59:25 +0000 |
commit | ec49bc330577f2b7535ad658ab0608ecace5a9a2 (patch) | |
tree | d8e13b167269a5f89873ee5fe903b46112a0fddb | |
parent | c5dead167a9b7a2ab4e4e226283a379074e8a238 (diff) | |
download | urpmi-ec49bc330577f2b7535ad658ab0608ecace5a9a2.tar urpmi-ec49bc330577f2b7535ad658ab0608ecace5a9a2.tar.gz urpmi-ec49bc330577f2b7535ad658ab0608ecace5a9a2.tar.bz2 urpmi-ec49bc330577f2b7535ad658ab0608ecace5a9a2.tar.xz urpmi-ec49bc330577f2b7535ad658ab0608ecace5a9a2.zip |
urpm::install::prepare_transaction() now returns the computed values instead of
modifying the parameters
-rw-r--r-- | urpm/install.pm | 14 | ||||
-rw-r--r-- | urpm/main_loop.pm | 8 |
2 files changed, 9 insertions, 13 deletions
diff --git a/urpm/install.pm b/urpm/install.pm index bebcdd09..db15ae09 100644 --- a/urpm/install.pm +++ b/urpm/install.pm @@ -26,16 +26,14 @@ sub _hash_intersect_list { \%h; } -#- prepare transaction. sub prepare_transaction { - my ($_urpm, $set, $list, $sources, $transaction_list, $transaction_sources) = @_; + my ($_urpm, $set, $list, $sources) = @_; - foreach (0..$#$list) { - $transaction_list->[$_] = _hash_intersect_list($list->[$_], $set->{upgrade}); - } - foreach my $id (@{$set->{upgrade}}) { - exists $sources->{$id} and $transaction_sources->{$id} = $sources->{$id}; - } + my @transaction_list = map { + _hash_intersect_list($_, $set->{upgrade}); + } @$list; + + \@transaction_list, _hash_intersect_list($sources, $set->{upgrade}); } sub build_transaction_set_ { diff --git a/urpm/main_loop.pm b/urpm/main_loop.pm index 6f0d702f..790cdffd 100644 --- a/urpm/main_loop.pm +++ b/urpm/main_loop.pm @@ -83,19 +83,17 @@ my @errors; my $exit_code = 0; foreach my $set (@{$state->{transaction} || []}) { - my $transaction_sources = {}; - my @transaction_list; #- put a blank line to separate with previous transaction or user question. print "\n" if $options{verbose} >= 0; - #- prepare transaction... - urpm::install::prepare_transaction($urpm, $set, $list, \%sources, \@transaction_list, $transaction_sources); + my ($transaction_list, $transaction_sources) = + urpm::install::prepare_transaction($urpm, $set, $list, \%sources); #- first, filter out what is really needed to download for this small transaction. my @error_sources; urpm::get_pkgs::download_packages_of_distant_media($urpm, - \@transaction_list, + $transaction_list, $transaction_sources, \@error_sources, quiet => $options{verbose} < 0, |