aboutsummaryrefslogtreecommitdiffstats
path: root/rpmdrake.pm
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2008-01-29 22:25:45 +0000
committerThierry Vignaud <tv@mandriva.org>2008-01-29 22:25:45 +0000
commit500cba9448af25e460962c25a478b826dfe3bd71 (patch)
tree69b372188b3062430940c1a7b9079ede92140761 /rpmdrake.pm
parentacdcd7674e0570d77686ab47140aa9c30b406710 (diff)
downloadrpmdrake-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.pm13
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) {