diff options
author | Thierry Vignaud <tv@mandriva.org> | 2008-10-14 14:33:20 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2008-10-14 14:33:20 +0000 |
commit | bb77c5f490d53da7f75fb1e846826842658040d1 (patch) | |
tree | 98e7ecb0a62008f503bccd7f9631c44e9f537a0d /mdkapplet-upgrade-helper | |
parent | 2f0ec0a3e8fbd32af5e1159308e7c6fef55a7dd6 (diff) | |
download | mgaonline-bb77c5f490d53da7f75fb1e846826842658040d1.tar mgaonline-bb77c5f490d53da7f75fb1e846826842658040d1.tar.gz mgaonline-bb77c5f490d53da7f75fb1e846826842658040d1.tar.bz2 mgaonline-bb77c5f490d53da7f75fb1e846826842658040d1.tar.xz mgaonline-bb77c5f490d53da7f75fb1e846826842658040d1.zip |
(upgrade) restore urpmi media if adding new distribution media failed
Diffstat (limited to 'mdkapplet-upgrade-helper')
-rwxr-xr-x | mdkapplet-upgrade-helper | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mdkapplet-upgrade-helper b/mdkapplet-upgrade-helper index ee533c50..b0f4e5b3 100755 --- a/mdkapplet-upgrade-helper +++ b/mdkapplet-upgrade-helper @@ -134,8 +134,13 @@ sub upgrade() { my $product_type = lc($product_id->{type}); $product_type =~ s/\s//g; my $mirror_list = "http://api.mandriva.com/mirrors/$product_type.$new_distro_version.$product_id->{arch}.list?" . join(',', 'reason=upgrade', 'upgrade_by=mdkapplet', "upgrade_from=$product_id->{version}"); - system('gurpmi.addmedia', '--silent-success', if_($root, "--urpmi-root=$root"), '--distrib', '--mirrorlist', $mirror_list) - and return; + system('gurpmi.addmedia', '--silent-success', if_($root, "--urpmi-root=$root"), '--distrib', '--mirrorlist', $mirror_list) and do { + log::explanations("adding media for new distribution failed"); + log::explanations("restoringing urpmi configuration from $file"); + cp_af($file, "$root/etc/urpmi/urpmi.cfg"); + run_program::run('urpmi.update', if_($root, '--urpmi-root', $root), '-a', '--nocheck'); + return; + }; log::explanations("upgrading urpmi and rpmdrake"); log::explanations("upgrading the whole system"); |