diff options
author | Thierry Vignaud <tv@mandriva.org> | 2008-01-29 22:25:45 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2008-01-29 22:25:45 +0000 |
commit | 500cba9448af25e460962c25a478b826dfe3bd71 (patch) | |
tree | 69b372188b3062430940c1a7b9079ede92140761 /rpmdrake.pm | |
parent | acdcd7674e0570d77686ab47140aa9c30b406710 (diff) | |
download | rpmdrake-500cba9448af25e460962c25a478b826dfe3bd71.tar rpmdrake-500cba9448af25e460962c25a478b826dfe3bd71.tar.gz rpmdrake-500cba9448af25e460962c25a478b826dfe3bd71.tar.bz2 rpmdrake-500cba9448af25e460962c25a478b826dfe3bd71.tar.xz rpmdrake-500cba9448af25e460962c25a478b826dfe3bd71.zip |
(choose_mirror,mirrors) use urpm::download::sync() instead of
curl_download::download() in order to download mirror list from
api.mandriva.com, thus using the downloader set up with urpmi instead
of forcing curl, and using urpmi's proxy options
Diffstat (limited to 'rpmdrake.pm')
-rw-r--r-- | rpmdrake.pm | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/rpmdrake.pm b/rpmdrake.pm index c368c001..549428a3 100644 --- a/rpmdrake.pm +++ b/rpmdrake.pm @@ -41,7 +41,6 @@ use POSIX qw(_exit); use common; use Locale::gettext; -use curl_download; our @ISA = qw(Exporter); our $VERSION = '2.27'; @@ -508,8 +507,8 @@ sub compat_arch_for_updates($) { } sub mirrors { - my ($cachedir, $want_base_distro, $o_arch) = @_; - $cachedir ||= '/root'; + my ($urpm, $want_base_distro, $o_arch) = @_; + my $cachedir = $urpm->{cachedir} || '/root'; use mirror; mirror::register_downloader(sub { my ($url) = @_; @@ -517,8 +516,8 @@ sub mirrors { $file =~ s!.*/!$cachedir/!; unlink $file; # prevent "partial file" errors before_leaving(sub { unlink $file }); - my $res = curl_download::download($url, $cachedir, sub {}); - $res and do { c::set_tagged_utf8($res); die $res }; + my $res = urpm::download::sync($urpm, undef, [ $url ], dir => $cachedir); + $res or do { c::set_tagged_utf8($res); die $res }; return cat_($file); }); my @mirrors = @{ mirror::list(common::parse_LDAP_namespace_structure(cat_('/etc/product.id')), @@ -538,7 +537,7 @@ sub mirrors { } sub choose_mirror { - my (%options) = @_; + my ($urpm, %options) = @_; my $message = $options{message} ? $options{message} : $branded ? N("I need to access internet to get the mirror list. @@ -558,7 +557,7 @@ Is it ok to continue?"); : N("Please wait, downloading mirror addresses from the Mandriva website.")), @transient_options ); - my @mirrors = eval { mirrors('/var/cache/urpmi', $options{want_base_distro}, $options{arch}) }; + my @mirrors = eval { mirrors($urpm, $options{want_base_distro}, $options{arch}) }; my $error = $@; remove_wait_msg($wait); if ($error) { |