summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2008-09-22 14:42:21 +0000
committerPascal Rigaux <pixel@mandriva.com>2008-09-22 14:42:21 +0000
commit04e33808f89abcccba8556b6058c526626c26e22 (patch)
tree79bbc3a23e534b6b81b2c7422330c1e7c7a94a6c
parente82e7ac51d65d596a607ef084514b30e352e3dd2 (diff)
downloadurpmi-04e33808f89abcccba8556b6058c526626c26e22.tar
urpmi-04e33808f89abcccba8556b6058c526626c26e22.tar.gz
urpmi-04e33808f89abcccba8556b6058c526626c26e22.tar.bz2
urpmi-04e33808f89abcccba8556b6058c526626c26e22.tar.xz
urpmi-04e33808f89abcccba8556b6058c526626c26e22.zip
move {allow_metalink} from $urpm to $medium, and take into account user's
requested downloader before choosing wether we will retry or rely on aria2
-rw-r--r--urpm/download.pm9
-rw-r--r--urpm/media.pm4
2 files changed, 10 insertions, 3 deletions
diff --git a/urpm/download.pm b/urpm/download.pm
index a8b24379..c1b07820 100644
--- a/urpm/download.pm
+++ b/urpm/download.pm
@@ -48,6 +48,13 @@ sub available_metalink_downloaders() {
grep { -x "/usr/bin/$binaries{$_}" || -x "/bin/$binaries{$_}" } metalink_downloaders();
}
+sub use_metalink {
+ my ($urpm, $medium) = @_;
+ my $use_metalink = 1;
+ preferred_downloader($urpm, $medium, \$use_metalink);
+ $use_metalink;
+}
+
my %warned;
sub preferred_downloader {
my ($urpm, $medium, $use_metalink) = @_;
@@ -813,7 +820,7 @@ sub sync_rel {
my @files = map { reduce_pathname("$medium->{url}/$_") } @$rel_files;
- my $files_text = join(' ', ($medium->{mirrorlist} && $urpm->{allow_metalink} ? ($medium->{mirrorlist}, $medium->{'with-dir'}) : url_obscuring_password($medium->{url})), @$rel_files);
+ my $files_text = join(' ', ($medium->{allow_metalink} ? ($medium->{mirrorlist}, $medium->{'with-dir'}) : url_obscuring_password($medium->{url})), @$rel_files);
$urpm->{debug} and $urpm->{debug}(N("retrieving %s", $files_text));
eval {
diff --git a/urpm/media.pm b/urpm/media.pm
index cec08f52..3149f92c 100644
--- a/urpm/media.pm
+++ b/urpm/media.pm
@@ -1797,8 +1797,8 @@ sub try__maybe_mirrorlist {
my ($urpm, $medium, $try) = @_;
if ($medium->{mirrorlist}) {
- $urpm->{allow_metalink} //= urpm::download::available_metalink_downloaders();
- if ($urpm->{allow_metalink}) {
+ $medium->{allow_metalink} //= urpm::download::use_metalink($urpm, $medium);
+ if ($medium->{allow_metalink}) {
#- help things...
_pick_mirror_if_needed($urpm, $medium, 'allow-cache-update');