diff options
Diffstat (limited to 'perl-install/standalone/drakxservices')
-rwxr-xr-x | perl-install/standalone/drakxservices | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/perl-install/standalone/drakxservices b/perl-install/standalone/drakxservices index 63318a031..621def75f 100755 --- a/perl-install/standalone/drakxservices +++ b/perl-install/standalone/drakxservices @@ -2,10 +2,8 @@ use lib qw(/usr/lib/libDrakX); -use common qw(:common :functional :file); +use common qw(:common :functional); use interactive; -use services; -use log; local $_ = join '', @ARGV; @@ -14,7 +12,19 @@ local $_ = join '', @ARGV; $::isStandalone = 1; my $in = vnew interactive('su'); -my $l = services::ask($in); -services::doit($in, $l) if $l; + +my @l = map { chop; $_ } `cd /etc/rc.d/init.d ; grep -l "chkconfig:" *`; +my @before = map { bool(@_ = glob("/etc/rc.d/rc*.d/*$_")) } @l; + +my $after = $in->ask_many_from_list("drakxservices", +_("Choose which services should be automatically started at boot time"), + \@l, \@before); + +mapn { + my ($name, $before, $after) = @_; + if ($before != $after) { + system("chkconfig", $after ? "--add" : "--del", $name); + } +} \@l, \@before, $after; $in->exit(0); |