diff options
Diffstat (limited to 'mdkupdate')
-rwxr-xr-x | mdkupdate | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -155,7 +155,11 @@ You need to update to a newer version. You can get a new one from http://start.m add_media($_, $mirrors{$_}, 'media_info/hdlist.cz', '') foreach keys %mirrors; $bundle =~ s/-[^-]*-[^-]*\.[^.]*\.rpm$//; push @bundles, $bundle; - install_pkgs($in, \@bundles, (find { /^bundle/ } keys %mirrors), { is_bundle => 1, auto_select => ($wc->{POST} =~ /AUTO_SELECT/) }); + install_pkgs($in, \@bundles, (find { /^bundle/ } keys %mirrors), + { is_bundle => 1, + auto_select => ($wc->{POST} =~ /AUTO_SELECT/ ? 1 : 0), + medias => [ keys %mirrors ], + }); } else { $in->ask_warn(N("Error"), N("An error occurred") . "\n\n" . $bundle_info->{message}); } @@ -190,8 +194,13 @@ sub install_pkgs { $o_options ||= {}; my $w = $in->wait_message(N("Please wait"), N("Installing packages ...\n")); eval { - system "/usr/sbin/urpmi", "--auto", "--media", $media_name, @$choosed; - system "/usr/sbin/urpmi", if_($o_options->{auto_select}, "--auto-select"), "--media", $media_name if $o_options->{is_bundle}; + if (!$o_options->{is_bundle}) { + system "/usr/sbin/urpmi", "--auto", "--media", $media_name, @$choosed; + } else { + system "/usr/bin/gurpmi", if_($o_options->{auto_select}, "--auto-select"), + if_($o_options->{medias}, "--media", join(',', @{$o_options->{medias}})), + "--searchmedia", $media_name, @$choosed; + } $? == 0 or die N("Unable to update packages from update_source medium.\n"); }; undef $w; |