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.pm104
1 files changed, 67 insertions, 37 deletions
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index 00a9710b7..0823b977a 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -5,9 +5,9 @@ use strict;
use vars qw($o);
-########################################################################################
-# misc imports
-########################################################################################
+#-######################################################################################
+#- misc imports
+#-######################################################################################
use common qw(:common :file :system :functional);
use install_any qw(:all);
use log;
@@ -25,12 +25,10 @@ use printer;
use run_program;
use install_steps_graphical;
-use Data::Dumper;
-
-########################################################################################
-# Steps table
-########################################################################################
+#-######################################################################################
+#- Steps table
+#-######################################################################################
my %stepsHelp = (
selectLanguage =>
@@ -220,16 +218,16 @@ for (my $i = 0; $i < @installSteps; $i += 2) {
$installSteps{first} = $installSteps[0];
-########################################################################################
-# INTERN CONSTANT
-########################################################################################
+#-#####################################################################################
+#-INTERN CONSTANT
+#-#####################################################################################
my @install_classes = (__("beginner"), __("developer"), __("server"), __("expert"));
-########################################################################################
-# Default value
-########################################################################################
+#-#####################################################################################
+#-Default value
+#-#####################################################################################
# partition layout for a server
-#NOT YET USED
+# NOT YET USED
my @serverPartitioning = (
{ mntpoint => "/boot", size => 16 << 11, type => 0x83 },
{ mntpoint => "/", size => 256 << 11, type => 0x83 },
@@ -287,12 +285,12 @@ my $default = {
# display => "192.168.1.9:0",
};
-########################################################################################
-#$O
-#the big struct which contain, well everything (globals + the interactive methods ...)
-#if you want to do a kickstart file, you just have to add all the required fields (see for example
-#the variable $default)
-########################################################################################
+#-#######################################################################################
+#-$O
+#-the big struct which contain, well everything (globals + the interactive methods ...)
+#-if you want to do a kickstart file, you just have to add all the required fields (see for example
+#-the variable $default)
+#-#######################################################################################
$o = $::o = {
default => $default,
@@ -319,21 +317,19 @@ $o = $::o = {
};
-########################################################################################
-# Steps Functions
-# each step function are called with two arguments : clicked(because if you are a
-# beginner you can force the the step) and the entered number
-########################################################################################
+#-######################################################################################
+#- Steps Functions
+#- each step function are called with two arguments : clicked(because if you are a
+#- beginner you can force the the step) and the entered number
+#-######################################################################################
#------------------------------------------------------------------------------
sub selectLanguage {
- lang::set($o->{lang} = $o->chooseLanguage);
- $o->{keyboard} = $o->default("keyboard") || keyboard::lang2keyboard($o->{lang});
- keyboard::setup($o->{keyboard});
+ $o->selectLanguage;
addToBeDone {
unless ($o->{isUpgrade}) {
- lang::write($o->{prefix});
+ lang ::write($o->{prefix});
keyboard::write($o->{prefix}, $o->{keyboard});
}
} 'doInstallStep';
@@ -344,9 +340,7 @@ sub selectKeyboard {
my ($clicked) = $_[0];
return if $o->{installClass} eq "beginner" && !$clicked;
- $o->{keyboard} = $o->chooseKeyboard;
- keyboard::setup($o->{keyboard});
-
+ $o->selectKeyboard;
#if we go back to the selectKeyboard, you must rewrite
addToBeDone {
keyboard::write($o->{prefix}, $o->{keyboard}) unless $o->{isUpgrade};
@@ -356,20 +350,28 @@ sub selectKeyboard {
#------------------------------------------------------------------------------
sub selectPath {
$o->{isUpgrade} = $o->selectInstallOrUpgrade;
+
$o->{steps} = $o->{isUpgrade} ? \%upgradeSteps : \%installSteps;
$o->{orderedSteps} = $o->{isUpgrade} ? \@orderedUpgradeSteps : \@orderedInstallSteps;
}
+#------------------------------------------------------------------------------
sub selectInstallClass {
$o->{installClass} = $o->selectInstallClass(@install_classes);
+
$::expert = $o->{installClass} eq "expert";
}
+#------------------------------------------------------------------------------
sub setupSCSI {
+ my ($clicked) = $_[0];
$o->{autoSCSI} ||= $o->{installClass} eq "beginner";
- $o->setupSCSI($o->{autoSCSI} && !$_[0]);
+
+ $o->setupSCSI($o->{autoSCSI} && !$clicked);
}
+#------------------------------------------------------------------------------
+#PADTODO
sub partitionDisks {
$o->{drives} = [ detect_devices::hds() ];
$o->{hds} = catch_cdie { fsedit::hds($o->{drives}, $o->{default}{partitioning}) }
@@ -403,6 +405,7 @@ I'll try to go on blanking bad partitions"));
}
+#PADTODO
sub formatPartitions {
$o->choosePartitionsToFormat($o->{fstab});
@@ -414,12 +417,16 @@ sub formatPartitions {
home mnt tmp var var/tmp var/lib var/lib/rpm);
}
+#------------------------------------------------------------------------------
+#PADTODO
sub choosePackages {
install_any::setPackages($o) if $_[1] == 1;
$o->choosePackages($o->{packages}, $o->{compss});
$o->{packages}{$_}{selected} = 1 foreach @{$o->{base}};
}
+#------------------------------------------------------------------------------
+#PADTODO
sub doInstallStep {
install_any::setPackages($o) unless $_[1]; # FIXME
$o->beforeInstallPackages;
@@ -427,38 +434,60 @@ sub doInstallStep {
$o->afterInstallPackages;
}
+#------------------------------------------------------------------------------
sub configureMouse { $o->mouseConfig }
-sub configureNetwork { $o->configureNetwork($_[1] == 1 && !$_[0]) }
+#------------------------------------------------------------------------------
+sub configureNetwork {
+ my ($clicked, $entered) = @_;
+ $o->configureNetwork($entered == 1 && !$clicked)
+}
+#------------------------------------------------------------------------------
+#PADTODO
sub configureTimezone {
+ my ($clicked) = $_[0];
my $f = "$o->{prefix}/etc/sysconfig/clock";
- return if ((-s $f) || 0) > 0 && $_[1] == 1 && !$_[0];
+ return if ((-s $f) || 0) > 0 && $_[1] == 1 && !$clicked;
$o->timeConfig($f);
}
+#------------------------------------------------------------------------------
sub configureServices { $o->servicesConfig }
+#------------------------------------------------------------------------------
sub configurePrinter { $o->printerConfig }
+#------------------------------------------------------------------------------
sub setRootPassword { $o->setRootPassword }
+#------------------------------------------------------------------------------
sub addUser {
$o->addUser;
+
addToBeDone {
run_program::rooted($o->{prefix}, "pwconv") or log::l("pwconv failed"); # use shadow passwords
} 'doInstallStep';
}
+#------------------------------------------------------------------------------
+#PADTODO
sub createBootdisk {
fs::write($o->{prefix}, $o->{fstab}) unless $o->{isUpgrade};
modules::write_conf("$o->{prefix}/etc/conf.modules", 'append');
$o->createBootdisk($_[1] == 1);
}
+#------------------------------------------------------------------------------
sub setupBootloader {
$o->setupBootloader;
}
+#------------------------------------------------------------------------------
sub configureX {
- $o->setupXfree if $o->{packages}{XFree86}{installed} || $_[0];
+ my ($clicked) = $_[0];
+ $o->setupXfree if $o->{packages}{XFree86}{installed} || $clicked;
}
+#------------------------------------------------------------------------------
sub exitInstall { $o->exitInstall }
+#-######################################################################################
+#- MAIN
+#-######################################################################################
sub main {
$SIG{__DIE__} = sub { chomp $_[0]; log::l("ERROR: $_[0]") };
@@ -516,6 +545,7 @@ sub main {
}
+ #the main cycle
my $clicked = 0;
for ($o->{step} = $o->{steps}{first};; $o->{step} = getNextStep()) {
$o->enteringStep($o->{step});