summaryrefslogtreecommitdiffstats
path: root/perl-install/install_steps.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install_steps.pm')
-rw-r--r--perl-install/install_steps.pm30
1 files changed, 30 insertions, 0 deletions
diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm
index bcb327c72..afc872b6b 100644
--- a/perl-install/install_steps.pm
+++ b/perl-install/install_steps.pm
@@ -11,6 +11,8 @@ use install_any qw(:all);
use partition_table qw(:types);
use detect_devices;
use timezone;
+use Xconfig;
+use Xconfigurator;
use modules;
use run_program;
use lilo;
@@ -473,8 +475,36 @@ sub setupBootloader($) {
}
#------------------------------------------------------------------------------
+sub setupXfreeBefore {
+ my ($o) = @_;
+ $o->{X}{keyboard}{xkb_keymap} ||= keyboard::keyboard2xkb($o->{keyboard});
+ $o->{X}{mouse} = $o->{mouse};
+
+ Xconfig::getinfoFromDDC($o->{X});
+
+ #- keep this here if the package has to be updated.
+ install_any::pkg_install($o, "XFree86");
+}
sub setupXfree {
my ($o) = @_;
+ $o->setupXfreeBefore;
+
+ { local $::testing = 0; #- unset testing
+ local $::auto = 1;
+ local $::skiptest = 1;
+ Xconfigurator::main($o->{prefix}, $o->{X}, $o, $o->{allowFB}, sub {
+ install_any::pkg_install($o, "XFree86-$_[0]");
+ });
+ }
+ $o->setupXfreeAfter;
+}
+sub setupXfreeAfter {
+ my ($o) = @_;
+ if ($o->{X}{card}{server} eq 'FBDev') {
+ unless (install_any::setupFB($o, Xconfigurator::getVGAMode($o->{X}))) {
+ Xconfigurator::rewriteInittab(3) unless $::testing; #- disable automatic start-up of X11 on error.
+ }
+ }
}
#------------------------------------------------------------------------------