mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Replace wsgi package conflict with config file
Instead of a package conflict, freeIPA now uses an Apache config file to enforce the correct wsgi module. The workaround only applies to Fedora since it is the only platform that permits parallel installation of Python 2 and Python 3 mod_wsgi modules. RHEL 7 has only Python 2 and Debian doesn't permit installation of both variants. See: https://pagure.io/freeipa/issue/7161 Fixes: https://pagure.io/freeipa/issue/7394 Signed-off-by: Christian Heimes <cheimes@redhat.com> Reviewed-By: Rob Crittenden <rcritten@redhat.com>
This commit is contained in:
@@ -30,6 +30,7 @@ import os
|
||||
import socket
|
||||
import traceback
|
||||
import errno
|
||||
import sys
|
||||
|
||||
from ctypes.util import find_library
|
||||
from functools import total_ordering
|
||||
@@ -484,6 +485,36 @@ class RedHatTaskNamespace(BaseTaskNamespace):
|
||||
os.chmod(paths.GSSPROXY_CONF, 0o600)
|
||||
self.restore_context(paths.GSSPROXY_CONF)
|
||||
|
||||
def configure_httpd_wsgi_conf(self):
|
||||
"""Configure WSGI for correct Python version (Fedora)
|
||||
|
||||
See https://pagure.io/freeipa/issue/7394
|
||||
"""
|
||||
conf = paths.HTTPD_IPA_WSGI_MODULES_CONF
|
||||
if sys.version_info.major == 2:
|
||||
wsgi_module = constants.MOD_WSGI_PYTHON2
|
||||
else:
|
||||
wsgi_module = constants.MOD_WSGI_PYTHON3
|
||||
|
||||
if conf is None or wsgi_module is None:
|
||||
logger.info("Nothing to do for configure_httpd_wsgi_conf")
|
||||
return
|
||||
|
||||
confdir = os.path.dirname(conf)
|
||||
if not os.path.isdir(confdir):
|
||||
os.makedirs(confdir)
|
||||
|
||||
ipautil.copy_template_file(
|
||||
os.path.join(
|
||||
paths.USR_SHARE_IPA_DIR, 'ipa-httpd-wsgi.conf.template'
|
||||
),
|
||||
conf,
|
||||
dict(WSGI_MODULE=wsgi_module)
|
||||
)
|
||||
|
||||
os.chmod(conf, 0o644)
|
||||
self.restore_context(conf)
|
||||
|
||||
def remove_httpd_service_ipa_conf(self):
|
||||
"""Remove systemd config for httpd service of IPA"""
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user