mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
install-scripts: avoid using --list with chkconfig
This option does not behave properly in F15 as chkconfig does not list services moved to use systemd service files. Plus there are more direct ways than parsing its output, which are more reliable. Also just testing for the availability of the service calling 'chkconfig name' is enough. https://fedorahosted.org/freeipa/ticket/1206
This commit is contained in:
parent
a4aba826a0
commit
d1fd695467
@ -169,12 +169,6 @@ def chkconfig(name, status):
|
||||
|
||||
chkconfig returns 1 if the service is unknown, 0 otherwise
|
||||
"""
|
||||
(sout, serr, returncode) = run(['/sbin/chkconfig', name, '--list'], raiseonerr=False)
|
||||
|
||||
# If the service isn't installed return with no error
|
||||
if returncode == 1:
|
||||
return
|
||||
|
||||
args = ['/sbin/chkconfig', name, status]
|
||||
(sout, serr, returncode) = run(args, raiseonerr=False)
|
||||
|
||||
|
@ -73,24 +73,8 @@ def chkconfig_del(service_name):
|
||||
ipautil.run(["/sbin/chkconfig", "--del", service_name])
|
||||
|
||||
def is_enabled(service_name):
|
||||
(stdout, stderr, returncode) = ipautil.run(["/sbin/chkconfig", "--list", service_name])
|
||||
|
||||
runlevels = {}
|
||||
for runlevel in range(0, 7):
|
||||
runlevels[runlevel] = False
|
||||
|
||||
for line in stdout.split("\n"):
|
||||
parts = line.split()
|
||||
if parts[0] == service_name:
|
||||
for s in parts[1:]:
|
||||
(runlevel, status) = s.split(":")[0:2]
|
||||
try:
|
||||
runlevels[int(runlevel)] = status == "on"
|
||||
except ValueError:
|
||||
pass
|
||||
break
|
||||
|
||||
return (runlevels[3] and runlevels[4] and runlevels[5])
|
||||
(stdout, stderr, returncode) = ipautil.run(["/sbin/chkconfig", service_name], raiseonerr=False)
|
||||
return (returncode == 0)
|
||||
|
||||
def print_msg(message, output_fd=sys.stdout):
|
||||
logging.debug(message)
|
||||
|
Loading…
Reference in New Issue
Block a user