From 8b1611d36b564ec18181134cd0badb6feae8d27d Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Tue, 14 Oct 2008 18:13:21 +0000 Subject: - library: o allow mdkapplet-upgrade-helper to force $MIRRORLIST distro version also allow to set URPMI_ADDMEDIA_REASON (backported from trunk) --- NEWS | 3 +++ urpm/mirrors.pm | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 9adfbb2c..1bcf251b 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +- library: + o allow mdkapplet-upgrade-helper to force $MIRRORLIST distro version + Version 5.19.7 - 14 October 2008 - gurpmi diff --git a/urpm/mirrors.pm b/urpm/mirrors.pm index 1974161e..38c4e532 100644 --- a/urpm/mirrors.pm +++ b/urpm/mirrors.pm @@ -135,6 +135,9 @@ sub _load_cache { $@ and $urpm->{error}("failed to read " . cache_file($urpm) . ": $@"); $_->{nb_uses} = 0 foreach values %$cache; } + if ($ENV{URPMI_ADDMEDIA_PRODUCT_VERSION} && delete $cache->{'$MIRRORLIST'}) { + $urpm->{log}('not using cached mirror list $MIRRORLIST since URPMI_ADDMEDIA_PRODUCT_VERSION is set'); + } $cache || {}; } sub _save_cache { @@ -248,7 +251,11 @@ sub _mandriva_mirrorlist { my $product_type = lc($product_id->{type}); $product_id =~ s/\s//g; my $arch = $o_arch || $product_id->{arch}; - "http://api.mandriva.com/mirrors/$product_type.$product_id->{version}.$arch.list"; + my @para = grep { $_ } $ENV{URPMI_ADDMEDIA_REASON}; + my $product_version = $ENV{URPMI_ADDMEDIA_PRODUCT_VERSION} || $product_id->{version}; + + "http://api.mandriva.com/mirrors/$product_type.$product_version.$arch.list" + . (@para ? '?' . join('&', @para) : ''); } #- heuristic to detect wether it is really a mirrorlist or a simple mirror url: -- cgit v1.2.1