diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/Xconfigurator.pm | 17 |
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; } |