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.pm56
1 files changed, 33 insertions, 23 deletions
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index 5bc1b9a30..17bd8f1b1 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -109,7 +109,7 @@ my @installSteps = (
choosePackages => [ __("Choose packages to install"), 1, 1, "selectInstallClass" ],
doInstallStep => [ __("Install system"), 1, -1, ["formatPartitions", "selectPath"] ],
# configureMouse => [ __("Configure mouse"), 0, 0 ],
- finishNetworking => [ __("Configure networking"), 1, 1, "formatPartitions" ],
+ configureNetwork => [ __("Configure networking"), 1, 1, "formatPartitions" ],
# configureTimezone => [ __("Configure timezone"), 0, 0 ],
# configureServices => [ __("Configure services"), 0, 0 ],
# configurePrinter => [ __("Configure printer"), 0, 0 ],
@@ -145,19 +145,14 @@ my @serverPartitioning = (
);
my $default = {
+ lang => 'us',
+ isUpgrade => 0,
+ installClass => 'beginner',
# display => "192.168.1.9:0",
- # for the list of fields available for user and superuser, see @etc_pass_fields in install_steps.pm
-# user => { name => 'foo', password => 'bar', home => '/home/foo', shell => '/bin/bash', realname => 'really, it is foo' },
-# superuser => { password => 'a', shell => '/bin/bash', realname => 'God' },
-
-# lang => 'fr',
-# isUpgrade => 0,
-# installClass => 'beginner',
bootloader => { onmbr => 1, linear => 0 },
autoSCSI => 0,
mkbootdisk => 0,
- base => [ qw(basesystem initscripts console-tools mkbootdisk linuxconf anacron linux_logo rhs-hwdiag utempter ldconfig chkconfig ntsysv mktemp setup setuptool filesystem MAKEDEV SysVinit ash at authconfig bash bdflush binutils console-tools crontabs dev e2fsprogs ed etcskel file fileutils findutils getty_ps gpm 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 sash sed setconsole setserial shadow-utils sh-utils slocate stat sysklogd tar termcap textutils time timeconfig tmpwatch util-linux vim-minimal vixie-cron which) ],
packages => [ qw() ],
partitionning => { clearall => $::testing, eraseBadPartitions => 1, auto_allocate => 0, autoformat => 1 },
partitions => [
@@ -168,7 +163,21 @@ my $default = {
],
shells => [ map { "/bin/$_" } qw(bash tcsh zsh ash) ],
};
-$o = $::o = { default => $default, steps => \%installSteps, orderedSteps => \@orderedInstallSteps };
+$o = $::o = {
+# lang => 'fr',
+# isUpgrade => 0,
+# installClass => 'beginner',
+
+ default => $default,
+ steps => \%installSteps,
+ orderedSteps => \@orderedInstallSteps,
+
+ # for the list of fields available for user and superuser, see @etc_pass_fields in install_steps.pm
+# user => { name => 'foo', password => 'bar', home => '/home/foo', shell => '/bin/bash', realname => 'really, it is foo' },
+# superuser => { password => 'a', shell => '/bin/bash', realname => 'God' },
+
+ base => [ qw(basesystem initscripts console-tools mkbootdisk linuxconf anacron linux_logo rhs-hwdiag utempter ldconfig chkconfig ntsysv mktemp setup setuptool filesystem MAKEDEV SysVinit ash at authconfig bash bdflush binutils console-tools crontabs dev e2fsprogs ed etcskel file fileutils findutils getty_ps gpm 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 sash sed setconsole setserial shadow-utils sh-utils slocate stat sysklogd tar termcap textutils time timeconfig tmpwatch util-linux vim-minimal vixie-cron which) ],
+};
sub selectLanguage {
@@ -192,11 +201,11 @@ sub selectPath {
sub selectInstallClass {
$o->{installClass} = $o->selectInstallClass(@install_classes);
$::expert = $o->{installClass} eq "expert";
- $o->{autoSCSI} = $o->default("autoSCSI") || $o->{installClass} eq "beginner";
}
-sub setupSCSI {
- $o->setupSCSI($o->default("autoSCSI") && $_[0]);
+sub setupSCSI {
+ $o->{autoSCSI} ||= $o->{installClass} eq "beginner";
+ $o->setupSCSI($o->{autoSCSI} && !$_[0]);
}
sub partitionDisks {
@@ -239,34 +248,35 @@ sub formatPartitions {
$o->formatPartitions(@{$o->{fstab}});
fs::mount_all([ grep { isExt2($_) || isSwap($_) } @{$o->{fstab}} ], $o->{prefix});
+
+ mkdir "$o->{prefix}/$_", 0755 foreach qw(dev etc home mnt tmp var var/tmp var/lib var/lib/rpm);
+ network::add2hosts("$o->{prefix}/etc/hosts", "127.0.0.1", "localhost.localdomain");
+ pkgs::init_db($o->{prefix}, $o->{isUpgrade});
}
sub choosePackages {
- my @p = @{$o->{default}{base}};
-
- unless ($o->{packages}) {
+ if ($o->{steps}{$o->{step}}{entered} == 1) {
$o->{packages} = pkgs::psUsingDirectory();
pkgs::getDeps($o->{packages});
$o->{compss} = pkgs::readCompss($o->{packages});
- push @p, "kernel-smp" if smp::detect();
+ push @{$o->{base}}, "kernel-smp" if smp::detect();
- foreach (@p) { $o->{packages}{$_}{base} = 1 }
+ foreach (@{$o->{base}}) { $o->{packages}{$_}{base} = 1 }
pkgs::setCompssSelected($o->{compss}, $o->{packages}, $o->{installClass});
}
$o->choosePackages($o->{packages}, $o->{compss});
- foreach (@p) { $o->{packages}{$_}{selected} = 1 }
+ foreach (@{$o->{base}}) { $o->{packages}{$_}{selected} = 1 }
}
sub doInstallStep {
- $o->beforeInstallPackages;
$o->installPackages($o->{packages});
$o->afterInstallPackages;
}
sub configureMouse { $o->mouseConfig }
-sub finishNetworking { $o->finishNetworking }
+sub configureNetwork { $o->configureNetwork }
sub configureTimezone { $o->timeConfig }
sub configureServices { $o->servicesConfig }
sub setRootPassword { $o->setRootPassword }
@@ -316,7 +326,7 @@ sub main {
eval { spawnShell() };
# needed very early for install_steps_graphical
- @{$o->{mouse}}{"xtype", "device"} = install_any::mouse_detect() unless $::testing;
+ $o->{mouse} = install_any::mouse_detect() unless $::testing;
$o = install_steps_graphical->new($o);
@@ -332,7 +342,7 @@ sub main {
my $clicked = 0;
for ($o->{step} = $o->{steps}{first};; $o->{step} = getNextStep()) {
$o->enteringStep($o->{step});
- $o->{steps}{$o->{step}}{entered} = 1;
+ $o->{steps}{$o->{step}}{entered}++;
eval {
&{$install2::{$o->{step}}}($clicked);
};