@@ -83,7 +83,7 @@ # 2 - calcul disk space. # use quota. # 3 - ssh & rsync -> expect or .identity.pub/authorized_keys -# 4 - write on cd +# 4 - write on cd --> ! change Joliet to HFS for Apple # 5 - cd writer detection -> cdrw: /sys/dev/cdrom/info /scsi/host0/bus0/target4/lun0 # /proc/sys/dev/cdrom/ # 6 - total backup.( all partitions wanted, windows partitions for example!) @@ -449,10 +449,14 @@ sub read_conf_file { sub complete_results { system_state(); - $daemon or $results .= _("\n********************* DrakBackup Report *********************\n\n"); - $daemon and $results .= _("\n**************** DrakBackup Daemon Reppackage install::steps_auto_install;
use diagnostics;
use strict;
use vars qw(@ISA $graphical @graphical_steps);
@ISA = qw(install::steps);
#-######################################################################################
#- misc imports
#-######################################################################################
use common;
use install::steps;
sub new {
my ($type, $o) = @_;
$o->{interactive} ||= 'gtk' if $graphical || !is_empty_array_ref($o->{interactiveSteps});
# Handle legacy options
push @{$o->{interactiveSteps}}, qw(setRootPassword_addUser) if intersection($o->{interactiveSteps}, ['addUser', 'setRootPassword']);
push @{$o->{interactiveSteps}}, qw(installPackages configureNetwork), @graphical_steps, if_(!$o->{autoExitInstall}, 'exitInstall');
if ($o->{interactive}) {
require "install/steps_$o->{interactive}.pm";
@ISA = ('install::steps_' . $o->{interactive}, @ISA);
foreach my $f (@{$o->{orderedSteps}}) {
$o->{steps}{$f}{auto} = 1 if !member($f, @{$o->{interactiveSteps}});
}
goto &{$install::{'steps_' . $o->{interactive} . '::'}{new}};
} else {
@ISA = ('install::steps_auto_install_non_interactive', @ISA);
(bless {}, ref($type) || $type)->install::steps::new($o);
}
}
sub exitInstall {
my ($o, $alldone) = @_;
if ($o->{interactive}) {
$o->SUPER::exitInstall($alldone);
} else {
install::steps::exitInstall($o);
return if $o->{autoExitInstall};
print "\a";
print "Auto installation complete\n";
print "Press <Enter>" , $::local_install ? '' : " to reboot", "\n";
<STDIN>;
}
}
#-######################################################################################
#- install::steps_auto_install_non_interactive package
#-######################################################################################
package install::steps_auto_install_non_interactive;
use install::steps;
use lang;
use modules;
use common;
use log;
my $iocharset;
sub enteringStep {
my ($o, $step) = @_;
my ($s, $t) = (N_("Entering step `%s'\n"), common::remove_translate_context($o->{steps}{$step}{text}));
my $txt;
if ($iocharset && !$::local_install) {
$txt = sprintf(translate($s), translate($t));
$txt = Locale::gettext::iconv($txt, "utf-8", $iocharset);
} else {
$txt = sprintf($s, $t);
}
print $txt;
$o->install::steps::enteringStep($step);
}
sub rebootNeeded {
my ($o) = @_;
errorInStep($o, <<EOF);
While partitioning, the partition table re-read failed, needing a reboot
This is plain wrong for an auto_install
EOF
}
sub ask_warn {
my ($_o, $_title, $message) = @_;
log::l(join(" ", deref_array($message)) . ' ' . backtrace());
}
sub wait_message {
my ($_o, $_title, $_message) = @_;
}
sub wait_message_with_progress_bar {
my ($_o, $_title) = @_;
undef, sub {};
}
sub charsetChanged {
my ($o) = @_;
lang::load_console_font($o->{locale});
my ($name, $acm) = lang::l2console_font($o->{locale}, 1);
my %fs_options = lang::fs_options($o->{locale});
$iocharset = $name && $acm && $fs_options{iocharset} ne 'utf8' ? $fs_options{iocharset} : '';
}
sub errorInStep {
my ($_o, $err) = @_;
print "error :(\n";
print "$err\n\n";
print "switch to console f2 for a shell\n";
print "Press <Enter> to reboot\n";
my $answer = <STDIN>;
if ($answer =~ /restart/i) {
log::l("restarting install");
c::_exit(0x35);
}
c::_exit(1);
}
#-######################################################################################
#- Steps Functions
#-######################################################################################
sub installPackages {
my ($o) = @_;
catch_cdie { $o->install::steps::installPackages } sub { print formatError($@), "\n"; 1 };
}
1;
|