diff options
-rwxr-xr-x | edit-urpm-sources.pl | 12 | ||||
-rw-r--r-- | rpmdrake.pm | 4 |
2 files changed, 12 insertions, 4 deletions
diff --git a/edit-urpm-sources.pl b/edit-urpm-sources.pl index 54c82ef2..7cfaf6fb 100755 --- a/edit-urpm-sources.pl +++ b/edit-urpm-sources.pl @@ -175,9 +175,11 @@ really want to replace it?"), yesno => 1) or return 0; $urpm->select_media($i{name}); $urpm->remove_selected_media; } - add_medium_and_check($urpm, - { probe_with => $probe, nolock => 1 }, - $i{name}, $make_url{$type}, $i{hdlist}, update => $type eq 'security'); + add_medium_and_check( + $urpm, + { probe_with => $probe, nolock => 1 }, + $i{name}, $make_url{$type}, $i{hdlist}, update => $type eq 'security', + ); return 1; } return 0; @@ -251,9 +253,11 @@ sub edit_callback { ) or return 0 ); standalone::explanations("Removing medium $name"); + my $saved_proxy = urpm::download::get_proxy($name); + undef $saved_proxy if !defined $saved_proxy->{http_proxy} && !defined $saved_proxy->{ftp_proxy}; $urpm->select_media($name); $urpm->remove_selected_media; - add_medium_and_check($urpm, { nolock => 1 }, $name, $url, $with_hdlist, update => $update); + add_medium_and_check($urpm, { nolock => 1, proxy => $saved_proxy }, $name, $url, $with_hdlist, update => $update); return $name; } return undef; diff --git a/rpmdrake.pm b/rpmdrake.pm index 590a28eb..f71e0858 100644 --- a/rpmdrake.pm +++ b/rpmdrake.pm @@ -23,6 +23,7 @@ package rpmdrake; use lib qw(/usr/lib/libDrakX); use standalone; #- warning, standalone must be loaded very first, for 'explanations' +use urpm::download (); use MDK::Common; use MDK::Common::System; @@ -662,8 +663,11 @@ sub add_medium_and_check { return 0; } + urpm::download::set_proxy_config($_, $options->{proxy}{$_}, $_[0]) foreach keys %{$options->{proxy} || {}}; + if (update_sources_check($urpm, $options, N_("Unable to add medium, errors reported:\n\n%s"), $_[0])) { $urpm->write_config; + $options->{proxy} and urpm::download::dump_proxy_config(); } else { $urpm->read_config; return 0; |