summaryrefslogtreecommitdiffstats
path: root/perl-install/Xconfigurator.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/Xconfigurator.pm')
-rw-r--r--perl-install/Xconfigurator.pm17
1 files changed, 5 insertions, 12 deletions
diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm
index 61fb4911c..1570f2a68 100644
--- a/perl-install/Xconfigurator.pm
+++ b/perl-install/Xconfigurator.pm
@@ -287,12 +287,7 @@ NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.", $xf3_ver)) . "
push @l, 'Mesa' if !$card->{use_xf4};
}
- -x "$prefix$card->{prog}" or $install && do {
- $in->suspend;
- &$install('server', @l) if $card->{use_xf4};
- &$install($card->{server}, @l) if !$card->{use_xf4};
- $in->resume;
- };
+ -x "$prefix$card->{prog}" or $install && $install->($card->{use_xf4} ? 'XFree86-server' : "XFree86-$card->{server}", @l);
-x "$prefix$card->{prog}" or die "server $card->{server} is not available (should be in $prefix$card->{prog})";
$card->{options}{sw_cursor} = 1 if $card->{type} =~ /S3 Trio3D|SiS 6326/;
@@ -1137,6 +1132,7 @@ Would you like X to start when you reboot?"), 1);
rewriteInittab($run ? 5 : 3) unless $::testing;
}
autologin($prefix, $o, $in, $install);
+ run_program::rooted($prefix, "chkconfig", "--del", "gpm") if $o->{mouse}{device} =~ /ttyS/ && !$::isStandalone;
}
}
@@ -1144,11 +1140,9 @@ sub autologin {
my ($prefix, $o, $in, $install) = @_;
my $cmd = $prefix ? "chroot $prefix" : "";
my @wm = (split (' ', `$cmd /usr/sbin/chksession -l`));
- my @etc_pass_fields = qw(name pw uid gid realname home shell);
my @users = mapgrep {
- my %l; @l{@etc_pass_fields} = split ':';
- $l{uid} > 500, $l{name};
- } cat_("$prefix/etc/passwd");
+ $_->{uid} > 500, $_->{name};
+ } map { any::unpack_passwd($_) } cat_("$prefix/etc/passwd");
my @runlevel = mapgrep {
/^id:([35]):initdefault:\s*$/ > 0, $1;
} cat_("$prefix/etc/inittab");
@@ -1162,7 +1156,6 @@ If you don't want to use this feature, click on the cancel button."),
[ { label => _("Choose the default user:"), val => \$o->{autologin}, list => [ '', @users ] },
{ label => _("Choose the window manager to run:"), val => \$o->{desktop}, list => \@wm }, ]) or delete $o->{autologin};
}
- $o->{autologin} and $::isStandalone ? do { $in->suspend; system("urpmi --auto --best-output autologin"); $in->resume; } : $in->pkg_install("autologin");
+ $o->{autologin} and $install->("autologin");
any::setAutologin($prefix, $o->{autologin}, $o->{desktop});
- run_program::rooted($prefix, "chkconfig", "--del", "gpm") if $o->{mouse}{device} =~ /ttyS/ && !$::isStandalone;
}