From fac2e70e4020fbd9a545f50e358537a4116c0df1 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Sat, 23 Feb 2008 19:40:50 +0000 Subject: - urpmi.addmedia o don't fail on remaining statedir files (#36267) (especially useful when using media.d/*.cfg) --- urpm/media.pm | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'urpm') diff --git a/urpm/media.pm b/urpm/media.pm index 4ac3db81..2e91fdd5 100644 --- a/urpm/media.pm +++ b/urpm/media.pm @@ -674,6 +674,9 @@ sub add_medium { $medium->{$_} = $options{$_} if exists $options{$_}; } + #- those files must not be there (cf mdvbz#36267) + _clean_statedir_medium_files($urpm, $medium); + if ($options{virtual}) { $medium->{virtual} = 1; } else { @@ -876,10 +879,7 @@ sub remove_media { #- mark to re-write configuration. $urpm->{modified} = 1; - #- remove files associated with this medium. - unlink grep { $_ } map { $_->($urpm, $medium) } \&statedir_synthesis, \&statedir_descriptions, \&statedir_names, \&statedir_MD5SUM, \&statedir_hdlist; - unlink statedir_xml_info($urpm, $medium, $_) foreach @xml_media_info; - remove_user_media_info_files($urpm, $medium); + _clean_statedir_medium_files($urpm, $medium); #- remove proxy settings for this media urpm::download::remove_proxy_media($medium->{name}); @@ -888,6 +888,15 @@ sub remove_media { $urpm->{media} = [ difference2($urpm->{media}, $to_remove) ]; } +sub _clean_statedir_medium_files { + my ($urpm, $medium) = @_; + + #- remove files associated with this medium. + unlink grep { $_ } map { $_->($urpm, $medium) } \&statedir_synthesis, \&statedir_descriptions, \&statedir_names, \&statedir_MD5SUM, \&statedir_hdlist; + unlink statedir_xml_info($urpm, $medium, $_) foreach @xml_media_info; + remove_user_media_info_files($urpm, $medium); +} + sub _probe_with_try_list { my ($urpm, $medium, $f) = @_; -- cgit v1.2.1