summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmdkupdate15
1 files changed, 12 insertions, 3 deletions
diff --git a/mdkupdate b/mdkupdate
index cb337687..0cdf92d8 100755
--- a/mdkupdate
+++ b/mdkupdate
@@ -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;