summaryrefslogtreecommitdiffstats
path: root/perl-install/services.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/services.pm')
-rw-r--r--perl-install/services.pm14
1 files changed, 7 insertions, 7 deletions
diff --git a/perl-install/services.pm b/perl-install/services.pm
index 70c88b03d..179fe0972 100644
--- a/perl-install/services.pm
+++ b/perl-install/services.pm
@@ -306,13 +306,13 @@ sub _set_service {
if (member($service, @xinetd_services)) {
run_program::rooted($::prefix, "chkconfig", $enable ? "--add" : "--del", $service);
} elsif (running_systemd() or has_systemd()) {
- if (-l "/lib/systemd/system/$service.service") {
- $service = basename(readlink("/lib/systemd/system/$service.service"));
- }
- else {
- $service = $service . ".service";
- }
- run_program::rooted($::prefix, "/bin/systemctl", $enable ? "enable" : "disable", $service);
+ # systemctl rejects any symlinked units. You have to enabled the real file
+ if (-l "/lib/systemd/system/$service.service") {
+ $service = basename(readlink("/lib/systemd/system/$service.service"));
+ } else {
+ $service = $service.".service";
+ }
+ run_program::rooted($::prefix, "/bin/systemctl", $enable ? "enable" : "disable", $service);
} else {
my $script = "/etc/rc.d/init.d/$service";
run_program::rooted($::prefix, "chkconfig", $enable ? "--add" : "--del", $service);