From 6e0ca2bbb6e18677261e3a7446a125afc692f2d0 Mon Sep 17 00:00:00 2001 From: Dexter Morgan Date: Sun, 6 Nov 2011 21:02:30 +0000 Subject: Use systemctl when we have a service file --- perl-install/services.pm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/perl-install/services.pm b/perl-install/services.pm index 813112d06..7c6e58ed2 100644 --- a/perl-install/services.pm +++ b/perl-install/services.pm @@ -291,11 +291,18 @@ sub ask { sub _set_service { my ($service, $enable) = @_; - my $script = "/etc/rc.d/init.d/$service"; - run_program::rooted($::prefix, "chkconfig", $enable ? "--add" : "--del", $service); - #- FIXME: handle services with no chkconfig line and with no Default-Start levels in LSB header - if ($enable && cat_("$::prefix$script") =~ /^#\s+chkconfig:\s+-/m) { - run_program::rooted($::prefix, "chkconfig", "--level", "35", $service, "on"); + + if ( -f "/lib/systemd/system/$service.service" ) { + run_program::rooted($::prefix, "systemctl", $enable ? "enable" : "disable", $service . ".service"); + } + else + { + my $script = "/etc/rc.d/init.d/$service"; + run_program::rooted($::prefix, "chkconfig", $enable ? "--add" : "--del", $service); + #- FIXME: handle services with no chkconfig line and with no Default-Start levels in LSB header + if ($enable && cat_("$::prefix$script") =~ /^#\s+chkconfig:\s+-/m) { + run_program::rooted($::prefix, "chkconfig", "--level", "35", $service, "on"); + } } } -- cgit v1.2.1