summaryrefslogtreecommitdiffstats
path: root/perl-install/install2.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install2.pm')
-rw-r--r--perl-install/install2.pm34
1 files changed, 25 insertions, 9 deletions
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index 5226bbbab..b6b928c38 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -31,7 +31,6 @@ use printer;
use modules;
use detect_devices;
use modparm;
-use install_steps_graphical;
use run_program;
#-######################################################################################
@@ -183,8 +182,8 @@ $o = $::o = {
steps => \%installSteps,
orderedSteps => \@orderedInstallSteps,
-#-GOLD base => [ qw(basesystem sed initscripts console-tools mkbootdisk anacron utempter ldconfig chkconfig ntsysv mktemp setup filesystem SysVinit bdflush crontabs dev e2fsprogs etcskel fileutils findutils getty_ps grep groff gzip hdparm info initscripts isapnptools kernel less ldconfig lilo logrotate losetup man mkinitrd mingetty modutils mount net-tools passwd procmail procps psmisc mandrake-release rootfiles rpm ash setserial shadow-utils sh-utils slocate stat sysklogd tar termcap textutils time tmpwatch util-linux vim-minimal vixie-cron which perl-base) ],
- base => [ qw(basesystem sed initscripts console-tools mkbootdisk anacron utempter ldconfig chkconfig ntsysv mktemp setup filesystem SysVinit bdflush crontabs dev e2fsprogs etcskel fileutils findutils getty_ps grep groff gzip hdparm info initscripts isapnptools kbdconfig kernel less ldconfig lilo logrotate losetup man mkinitrd mingetty modutils mount net-tools passwd procmail procps psmisc mandrake-release rootfiles rpm ash setconsole setserial shadow-utils sh-utils slocate stat sysklogd tar termcap textutils time tmpwatch util-linux vim-minimal vixie-cron which cpio perl) ],
+ base => [ qw(basesystem sed initscripts console-tools mkbootdisk utempter ldconfig chkconfig ntsysv mktemp setup filesystem SysVinit bdflush crontabs dev e2fsprogs etcskel fileutils findutils getty_ps grep groff gzip hdparm info initscripts isapnptools kernel less ldconfig lilo logrotate losetup man mkinitrd mingetty modutils mount net-tools passwd procmail procps psmisc mandrake-release rootfiles rpm ash setserial shadow-utils sh-utils slocate stat sysklogd tar termcap textutils time tmpwatch util-linux vim-minimal vixie-cron which perl-base) ],
+#-GOLD base => [ qw(basesystem sed initscripts console-tools mkbootdisk anacron utempter ldconfig chkconfig ntsysv mktemp setup filesystem SysVinit bdflush crontabs dev e2fsprogs etcskel fileutils findutils getty_ps grep groff gzip hdparm info initscripts isapnptools kbdconfig kernel less ldconfig lilo logrotate losetup man mkinitrd mingetty modutils mount net-tools passwd procmail procps psmisc mandrake-release rootfiles rpm ash setconsole setserial shadow-utils sh-utils slocate stat sysklogd tar termcap textutils time tmpwatch util-linux vim-minimal vixie-cron which cpio perl) ],
#- for the list of fields available for user and superuser, see @etc_pass_fields in install_steps.pm
#- intf => [ { DEVICE => "eth0", IPADDR => '1.2.3.4', NETMASK => '255.255.255.128' } ],
@@ -444,7 +443,7 @@ sub main {
$::beginner = $::expert = $::g_auto_install = 0;
- my $cfg;
+ my ($cfg, $patch);
my %cmdline; map {
my ($n, $v) = split '=';
$cmdline{$n} = $v || 1;
@@ -469,11 +468,15 @@ sub main {
expert => sub { $o->{installClass} = 'expert'; $::expert = 1 },
beginner => sub { $o->{installClass} = 'normal'; $::beginner = 1 },
lnx4win => sub { $o->{lnx4win} = 1 },
- readonly => sub { $o->{partitioning}{readonly} = 1 },
+ readonly => sub { $o->{partitioning}{readonly} = $v ne "0" },
display => sub { $o->{display} = $v },
security => sub { $o->{security} = $v },
test => sub { $::testing = 1 },
+ patch => sub { $patch = 1 },
defcfg => sub { $cfg = $v },
+ newt => sub { $o->{interactive} = "newt" },
+ text => sub { $o->{interactive} = "newt" },
+ stdio => sub { $o->{interactive} = "stdio"},
# ks => sub { $::auto_install = 1; $cfg = $v; },
# kickstart => sub { $::auto_install = 1; $cfg = $v; },
auto_install => sub { $::auto_install = 1; $cfg = $v; },
@@ -481,7 +484,7 @@ sub main {
alawindows => sub { $o->{security} = 0; $o->{partitioning}{clearall} = 1; $o->{bootloader}{crushMbr} = 1 },
g_auto_install => sub { $::testing = $::g_auto_install = 1; $o->{partitioning}{auto_allocate} = 1 },
}}{lc $n}; &$f if $f;
- } %cmdline;
+ } %cmdline;
unlink "/sbin/insmod" unless $::testing;
unlink "/modules/pcmcia_core.o" unless $::testing; #- always use module from archive.
@@ -505,11 +508,18 @@ sub main {
$ENV{PATH} = "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin:$o->{prefix}/sbin:$o->{prefix}/bin:$o->{prefix}/usr/sbin:$o->{prefix}/usr/bin:$o->{prefix}/usr/X11R6/bin" unless $::g_auto_install;
$ENV{LD_LIBRARY_PATH} = "";
+ if ($o->{interactive} eq "gtk" && availableMemory < 24 * 1024) {
+ log::l("switching to newt install cuz not enough memory");
+ $o->{interactive} = "newt";
+ }
+
if ($::auto_install) {
require 'install_steps_auto_install.pm';
} else {
- require 'install_steps_graphical.pm';
+ $o->{interactive} ||= 'gtk';
+ require"install_steps_$o->{interactive}.pm";
}
+ eval { $o = $::o = install_any::loadO($o, "patch") } if $patch;
eval { $o = $::o = install_any::loadO($o, $cfg) } if $cfg;
$o->{prefix} = $::testing ? "/tmp/test-perl-install" : "/mnt";
@@ -519,12 +529,18 @@ sub main {
$ENV{PATH} = "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin:$o->{prefix}/sbin:$o->{prefix}/bin:$o->{prefix}/usr/sbin:$o->{prefix}/usr/bin:$o->{prefix}/usr/X11R6/bin";
$ENV{LD_LIBRARY_PATH} = "";
- #- needed very early for install_steps_graphical
+ #- needed very early for install_steps_gtk
eval { $o->{mouse} ||= mouse::detect() };
$::o = $o = $::auto_install ?
install_steps_auto_install->new($o) :
- install_steps_graphical->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->{netc} = network::read_conf("/tmp/network");
if (my ($file) = glob_('/tmp/ifcfg-*')) {