Fix service.enable on: Debian 8, Ubuntu 15.04
Workaround for https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751638 See https://github.com/systemd/systemd/issues/937
This commit is contained in:
parent
ca512b5def
commit
fe840225fb
1 changed files with 13 additions and 2 deletions
|
@ -503,10 +503,21 @@ class LinuxService(Service):
|
||||||
self.svc_initctl = location['initctl']
|
self.svc_initctl = location['initctl']
|
||||||
|
|
||||||
def get_systemd_service_enabled(self):
|
def get_systemd_service_enabled(self):
|
||||||
(rc, out, err) = self.execute_command("%s is-enabled %s" % (self.enable_cmd, self.__systemd_unit,))
|
def sysv_exists(name):
|
||||||
|
script = '/etc/init.d/' + name
|
||||||
|
return os.access(script, os.X_OK)
|
||||||
|
|
||||||
|
def sysv_is_enabled(name):
|
||||||
|
return bool(glob.glob('/etc/rc?.d/S??' + name))
|
||||||
|
|
||||||
|
service_name = self.__systemd_unit
|
||||||
|
(rc, out, err) = self.execute_command("%s is-enabled %s" % (self.enable_cmd, service_name,))
|
||||||
if rc == 0:
|
if rc == 0:
|
||||||
return True
|
return True
|
||||||
return False
|
elif sysv_exists(service_name):
|
||||||
|
return sysv_is_enabled(service_name)
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
def get_systemd_status_dict(self):
|
def get_systemd_status_dict(self):
|
||||||
(rc, out, err) = self.execute_command("%s show %s" % (self.enable_cmd, self.__systemd_unit,))
|
(rc, out, err) = self.execute_command("%s show %s" % (self.enable_cmd, self.__systemd_unit,))
|
||||||
|
|
Loading…
Reference in a new issue