summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/ChangeLog6
-rw-r--r--perl-install/Makefile2
-rw-r--r--perl-install/Xconfigurator.pm2
-rw-r--r--perl-install/install2.pm30
-rw-r--r--perl-install/install_steps_gtk.pm9
-rw-r--r--perl-install/share/list1
-rw-r--r--perl-install/share/list.alpha1
7 files changed, 35 insertions, 16 deletions
diff --git a/perl-install/ChangeLog b/perl-install/ChangeLog
index 46bd89f87..49a7ce72a 100644
--- a/perl-install/ChangeLog
+++ b/perl-install/ChangeLog
@@ -1,7 +1,13 @@
2000-02-24 Pixel <pixel@mandrakesoft.com>
+ * install_steps_gtk.pm (new): returns undef in case no X server
+ works
+
* install2.pm (main): moved the ejectCdrom from install_steps::END
to here
+ * install2.pm (main): fix the $SIG{SEGV} handler
+ * install2.pm (main): added a "try again" in text install if the
+ new fails
* install_steps_interactive.pm (createBootdisk): fix an error for
non fdX choice of floppy drive
diff --git a/perl-install/Makefile b/perl-install/Makefile
index a092da5fb..225d3bce1 100644
--- a/perl-install/Makefile
+++ b/perl-install/Makefile
@@ -56,7 +56,7 @@ install_pms: $(DIRS)
get_needed_files: $(DIRS)
# export PERL_INSTALL_TEST=1 ; strace -f -e trace=file -o '| grep -v "(No such file or directory)" | sed -e "s/[^\"]*\"//" -e "s/\".*//" | grep "^/" | grep -v -e "^/tmp" -e "^/home" -e "^/proc" -e "^/var" -e "^/dev" -e "^/etc" -e "^/usr/lib/rpm" > /tmp/list ' $(PERL) -d install2 < /dev/null
perl -pe "s/ARCH/$(ARCH)/g" share/list > /tmp/list
- perl -pi -e 's/00503/5.660/g' /tmp/list
+# perl -pi -e 's/00503/5.660/g' /tmp/list
cat `../tools/specific_arch share/list` >> /tmp/list
find auto -follow -name "*.so" >> /tmp/list
diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm
index 65abceaa8..892b1f1c0 100644
--- a/perl-install/Xconfigurator.pm
+++ b/perl-install/Xconfigurator.pm
@@ -99,7 +99,7 @@ sub cardName2RealName {
}
sub cardName2card {
my ($name) = @_;
- readCardsDB("$prefix/usr/X11R6/lib/X11/Cards")->{$name};
+ readCardsDB("/usr/X11R6/lib/X11/Cards")->{$name};
}
sub readMonitorsDB {
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index af40b5a3e..73d7071e5 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -479,7 +479,8 @@ sub exitInstall { $o->exitInstall(getNextStep() eq "exitInstall") }
#-######################################################################################
sub main {
$SIG{__DIE__} = sub { chomp(my $err = $_[0]); log::l("warning: $err") };
- $SIG{SEGV} = sub { my $msg = "Seems like memory is missing as the install crashes"; print "$msg\n"; log::l($msg);
+ $SIG{SEGV} = sub { my $msg = "segmentation fault: seems like memory is missing as the install crashes"; print "$msg\n"; log::l($msg);
+ require install_steps_auto_install;
install_steps_auto_install::errorInStep();
};
@@ -590,15 +591,24 @@ sub main {
#- needed very early for install_steps_gtk
eval { ($o->{mouse}, $o->{wacom}) = mouse::detect() } unless $o->{nomouseprobe} || $o->{mouse};
- $::o = $o = $::auto_install ?
- install_steps_auto_install->new($o) :
- $o->{interactive} eq "stdio" ?
- install_steps_stdio->new($o) :
- $o->{interactive} eq "newt" ?
- install_steps_newt->new($o) :
- $o->{interactive} eq "gtk" ?
- install_steps_gtk->new($o) :
- die "unknown install type";
+ my $o_;
+ while (1) {
+ require"install_steps_$o->{interactive}.pm";
+ $o_ = $::auto_install ?
+ install_steps_auto_install->new($o) :
+ $o->{interactive} eq "stdio" ?
+ install_steps_stdio->new($o) :
+ $o->{interactive} eq "newt" ?
+ install_steps_newt->new($o) :
+ $o->{interactive} eq "gtk" ?
+ install_steps_gtk->new($o) :
+ die "unknown install type";
+ $o_ and last;
+
+ $o->{interactive} = "newt";
+ require install_steps_newt;
+ }
+ $::o = $o = $o_;
$o->{netc} = network::read_conf("/tmp/network");
if (my ($file) = glob_('/tmp/ifcfg-*')) {
diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm
index b07ccc1e7..520abe4f3 100644
--- a/perl-install/install_steps_gtk.pm
+++ b/perl-install/install_steps_gtk.pm
@@ -179,7 +179,7 @@ sub new($$) {
exec $_[0], "-dpms","-s" ,"240", "-allowMouseOpenFail", "-xf86config", $f or exit 1;
}
foreach (1..15) {
- sleep 1;
+ sleep 1000;
return 0 if !$ok;
return 1 if c::Xtest($ENV{DISPLAY});
}
@@ -210,15 +210,16 @@ sub new($$) {
!$o->{vga16} && listlength(cat_("/proc/fb")) or next;
$o->{allowFB} = &$launchX("XF86_$_") #- keep in mind FB is used.
- and last;
+ and goto OK;
} else {
$o->{vga16} = 1 if /VGA16/;
- &$launchX("XF86_$_") and last;
+ &$launchX("XF86_$_") and goto OK;
}
}
+ return undef;
}
}
- @themes = @themes_vga16 if $o->{simple_themes} || $o->{vga16};
+ OK: @themes = @themes_vga16 if $o->{simple_themes} || $o->{vga16};
init_sizes();
install_theme($o);
diff --git a/perl-install/share/list b/perl-install/share/list
index 062af67c6..7fcddc96e 100644
--- a/perl-install/share/list
+++ b/perl-install/share/list
@@ -12,6 +12,7 @@
/sbin/rmmod
/sbin/mke2fs
/sbin/raidstart
+/usr/X11R6/lib/X11/Cards
/usr/bin/bzip2
/usr/bin/perl
/usr/lib/gconv/BIG5.so
diff --git a/perl-install/share/list.alpha b/perl-install/share/list.alpha
index ba7f3dac2..06cdd56bc 100644
--- a/perl-install/share/list.alpha
+++ b/perl-install/share/list.alpha
@@ -1,4 +1,5 @@
/usr/X11R6/bin/XF86_3DLabs
/usr/X11R6/bin/XF86_SVGA
/usr/X11R6/bin/XF86_TGA
+/usr/X11R6/bin/XF86_S3
/usr/X11R6/bin/xmodmap