summaryrefslogtreecommitdiffstats
path: root/testdata/history/devel/cauldron/SRPMS/main/release
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2016-01-06 18:48:31 +0100
committerThierry Vignaud <thierry.vignaud@gmail.com>2016-01-06 18:56:17 +0100
commit07b7d27842e690ed36b11ef0ad0f3b2ff1d28897 (patch)
treef3b24388adf05b21aa87ca0dea051f0872f8a06b /testdata/history/devel/cauldron/SRPMS/main/release
parent7eb0deaa35859ad3cf2b34796277de921b24b715 (diff)
downloadperl-MDV-Distribconf-07b7d27842e690ed36b11ef0ad0f3b2ff1d28897.tar
perl-MDV-Distribconf-07b7d27842e690ed36b11ef0ad0f3b2ff1d28897.tar.gz
perl-MDV-Distribconf-07b7d27842e690ed36b11ef0ad0f3b2ff1d28897.tar.bz2
perl-MDV-Distribconf-07b7d27842e690ed36b11ef0ad0f3b2ff1d28897.tar.xz
perl-MDV-Distribconf-07b7d27842e690ed36b11ef0ad0f3b2ff1d28897.zip
fix manifest (s!cooker!cauldron!)
Diffstat (limited to 'testdata/history/devel/cauldron/SRPMS/main/release')
0 files changed, 0 insertions, 0 deletions
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
package install::steps_auto_install; # $Id$

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;