summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/drakxservices
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/drakxservices')
-rwxr-xr-xperl-install/standalone/drakxservices20
1 files changed, 5 insertions, 15 deletions
diff --git a/perl-install/standalone/drakxservices b/perl-install/standalone/drakxservices
index 621def75f..63318a031 100755
--- a/perl-install/standalone/drakxservices
+++ b/perl-install/standalone/drakxservices
@@ -2,8 +2,10 @@
use lib qw(/usr/lib/libDrakX);
-use common qw(:common :functional);
+use common qw(:common :functional :file);
use interactive;
+use services;
+use log;
local $_ = join '', @ARGV;
@@ -12,19 +14,7 @@ local $_ = join '', @ARGV;
$::isStandalone = 1;
my $in = vnew interactive('su');
-
-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;
+my $l = services::ask($in);
+services::doit($in, $l) if $l;
$in->exit(0);