summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@mandriva.org>2004-09-16 07:56:07 +0000
committerRafael Garcia-Suarez <rgarciasuarez@mandriva.org>2004-09-16 07:56:07 +0000
commit888d12be116a411b458120463c124dca65dd6b31 (patch)
treef75df10f676e2d711a430c5a7c931be499a9eda2
parente0ef120d499d4dcce9c842564a6e31cc46d796c9 (diff)
downloaddrakx-888d12be116a411b458120463c124dca65dd6b31.tar
drakx-888d12be116a411b458120463c124dca65dd6b31.tar.gz
drakx-888d12be116a411b458120463c124dca65dd6b31.tar.bz2
drakx-888d12be116a411b458120463c124dca65dd6b31.tar.xz
drakx-888d12be116a411b458120463c124dca65dd6b31.zip
Kludgy fix for bug 11558 : sometimes when restarting the installer at the
step where partitions are read, it'll be needed to reaload the rpmsrate and compssUsers.pl to avoid a crash a bit later.
-rw-r--r--perl-install/install_any.pm30
-rw-r--r--perl-install/install_steps_gtk.pm2
2 files changed, 21 insertions, 11 deletions
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 022db2e54..1e9893242 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -441,6 +441,8 @@ sub prep_net_suppl_media {
delete $INC{'IO/Socket.pm'};
delete $INC{'IO/Socket/UNIX.pm'};
delete $INC{'IO/Socket/INET.pm'};
+ delete $INC{'ftp.pm'};
+ delete $INC{'http.pm'};
require IO::Socket;
}
@@ -511,7 +513,8 @@ sub selectSupplMedia {
$url = $o->ask_from_entry('', N("URL of the mirror?")) or return 'error';
}
useMedium($medium_name);
- require "$suppl_method.pm"; #- require http or ftp
+ require http;
+ require ftp if $suppl_method eq 'ftp';
#- first, try to find an hdlists file
eval { pkgs::psUsingHdlists($o, $suppl_method, $url, $o->{packages}, $medium_name, \&setup_suppl_medium) };
if ($@) {
@@ -583,6 +586,20 @@ sub _media_rank {
$y;
}
+sub load_rate_files {
+ my ($o) = @_;
+ #- must be done after getProvides
+ #- if there is a supplementary media, the rpmsrate/compssUsers are overridable
+ pkgs::read_rpmsrate(
+ $o->{packages},
+ getFile(-e "/tmp/rpmsrate" ? "/tmp/rpmsrate" : "media/media_info/rpmsrate")
+ );
+ ($o->{compssUsers}, $o->{gtk_display_compssUsers}) = pkgs::readCompssUsers(
+ $o->{meta_class},
+ -e '/tmp/compssUsers.pl' ? '/tmp/compssUsers.pl' : 'media/media_info/compssUsers.pl'
+ );
+}
+
sub setPackages {
my ($o, $rebuild_needed) = @_;
@@ -603,16 +620,7 @@ sub setPackages {
pkgs::selectPackage($o->{packages},
pkgs::packageByName($o->{packages}, 'basesystem') || die("missing basesystem package"), 1);
- #- must be done after getProvides
- #- if there is a supplementary media, the rpmsrate/compssUsers are overridable
- pkgs::read_rpmsrate(
- $o->{packages},
- getFile(-e "/tmp/rpmsrate" ? "/tmp/rpmsrate" : "media/media_info/rpmsrate")
- );
- ($o->{compssUsers}, $o->{gtk_display_compssUsers}) = pkgs::readCompssUsers(
- $o->{meta_class},
- -e '/tmp/compssUsers.pl' ? '/tmp/compssUsers.pl' : 'media/media_info/compssUsers.pl'
- );
+ load_rate_files($o);
#- preselect default_packages and compssUsers selected.
setDefaultPackages($o);
diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm
index c1c9f33ba..7e826c514 100644
--- a/perl-install/install_steps_gtk.pm
+++ b/perl-install/install_steps_gtk.pm
@@ -229,6 +229,8 @@ sub reallyChooseGroups {
gtkset_tip($tips, $check, $help);
$check;
};
+ #- when restarting this step, it might be necessary to reload the compssUsers.pl (bug 11558). kludgy.
+ if (!ref $o->{gtk_display_compssUsers}) { install_any::load_rate_files($o) }
gtkadd($w->{window},
gtkpack_($w->create_box_with_title(N("Package Group Selection")),
1, $o->{gtk_display_compssUsers}->($entry),