diff options
author | Simo Sorce <ssorce@redhat.com> | 2011-05-04 10:21:27 -0400 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2011-05-06 15:46:41 +0200 |
commit | d1fd695467b9e831f0a774605b0d44cd009230fe (patch) | |
tree | e6647e63437ea441aefb6d7ee75688b45db976ae /ipaserver | |
parent | a4aba826a0e1327ba8df05da19d9ad0055d8269d (diff) | |
download | freeipa-d1fd695467b9e831f0a774605b0d44cd009230fe.tar.gz freeipa-d1fd695467b9e831f0a774605b0d44cd009230fe.tar.xz freeipa-d1fd695467b9e831f0a774605b0d44cd009230fe.zip |
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
Diffstat (limited to 'ipaserver')
-rw-r--r-- | ipaserver/install/service.py | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/ipaserver/install/service.py b/ipaserver/install/service.py index 1ebd96d7b..0d3192700 100644 --- a/ipaserver/install/service.py +++ b/ipaserver/install/service.py @@ -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) |