summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/release-notes/index.rst1
-rw-r--r--docs/release-notes/version-4.2.2.rst31
-rw-r--r--src/server/__init__.py58
-rw-r--r--src/server/wsgi_version.h4
4 files changed, 74 insertions, 20 deletions
diff --git a/docs/release-notes/index.rst b/docs/release-notes/index.rst
index 8db3b21..68273ad 100644
--- a/docs/release-notes/index.rst
+++ b/docs/release-notes/index.rst
@@ -5,6 +5,7 @@ Release Notes
.. toctree::
:maxdepth: 2
+ version-4.2.2.rst
version-4.2.1.rst
version-4.2.0.rst
diff --git a/docs/release-notes/version-4.2.2.rst b/docs/release-notes/version-4.2.2.rst
new file mode 100644
index 0000000..41f7b57
--- /dev/null
+++ b/docs/release-notes/version-4.2.2.rst
@@ -0,0 +1,31 @@
+=============
+Version 4.2.2
+=============
+
+Version 4.2.2 of mod_wsgi can be obtained from:
+
+ https://github.com/GrahamDumpleton/mod_wsgi/archive/4.2.2.tar.gz
+
+Known Issues
+------------
+
+1. The makefiles for building mod_wsgi on Windows are currently broken and
+need updating. As most new changes relate to mod_wsgi daemon mode, which is
+not supported under Windows, you should keep using the last available
+binary for version 3.X on Windows instead.
+
+Bugs Fixed
+----------
+
+1. The ``envvars`` file was being overwritten even if it existed and had
+been modified.
+
+New Features
+------------
+
+1. Output the location of the ``envvars`` file when using the
+``setup-server`` command for ``mod_wsgi-express`` or if using the
+``start-server`` command and the ``--envars-script`` option was being used.
+
+2. Output the location of the ``apachectl`` script when using the
+``setup-server`` command for ``mod_wsgi-express``.
diff --git a/src/server/__init__.py b/src/server/__init__.py
index 5bfa791..cc17918 100644
--- a/src/server/__init__.py
+++ b/src/server/__init__.py
@@ -402,7 +402,8 @@ def generate_apache_config(options):
mount_point=mount_point, directory=directory,
filename=filename), file=fp)
- print(APACHE_ALIAS_DOCUMENTATION % options, file=fp)
+ if options['enable_docs']:
+ print(APACHE_ALIAS_DOCUMENTATION % options, file=fp)
if options['error_documents']:
for status, document in options['error_documents']:
@@ -781,9 +782,15 @@ def generate_control_scripts(options):
os.chmod(path, 0o755)
path = os.path.join(options['server_root'], 'envvars')
- with open(path, 'w') as fp:
- if options['envvars_script']:
- print(APACHE_ENVVARS_FILE.lstrip() % options, file=fp)
+
+ if options['envvars_script']:
+ with open(path, 'w') as fp:
+ if options['envvars_script']:
+ print(APACHE_ENVVARS_FILE.lstrip() % options, file=fp)
+
+ elif not os.path.isfile(path):
+ with open(path, 'w') as fp:
+ pass
def check_percentage(option, opt_str, value, parser):
if value is not None and value < 0 or value > 1:
@@ -1055,17 +1062,17 @@ option_list = (
'be made available at the /__wsgi__/docs sub URL.'),
)
-def cmd_setup_server(params, usage=None):
+def cmd_setup_server(params):
formatter = optparse.IndentedHelpFormatter()
formatter.set_long_opt_delimiter(' ')
- usage = usage or '%prog setup-server script [options]'
+ usage = '%prog setup-server script [options]'
parser = optparse.OptionParser(usage=usage, option_list=option_list,
formatter=formatter)
(options, args) = parser.parse_args(params)
- return _cmd_setup_server(args, vars(options))
+ _cmd_setup_server('setup-server', args, vars(options))
def _mpm_module_defines(modules_directory):
result = []
@@ -1076,7 +1083,7 @@ def _mpm_module_defines(modules_directory):
result.append('-DWSGI_MPM_%s_MODULE' % name.upper())
return result
-def _cmd_setup_server(args, options):
+def _cmd_setup_server(command, args, options):
options['mod_wsgi_so'] = where()
options['working_directory'] = options['working_directory'] or os.getcwd()
@@ -1326,29 +1333,44 @@ def _cmd_setup_server(args, options):
generate_apache_config(options)
generate_control_scripts(options)
- print('Server URL :', options['url'])
+ print('Server URL :', options['url'])
if options['server_status']:
- print('Server Status :', '%sserver-status' % options['url'])
+ print('Server Status :', '%sserver-status' % options['url'])
- print('Server Root :', options['server_root'])
- print('Server Conf :', options['httpd_conf'])
+ print('Server Root :', options['server_root'])
+ print('Server Conf :', options['httpd_conf'])
- print('Error Log :', options['error_log'])
+ print('Error Log File :', options['error_log'])
if options['access_log']:
- print('Access Log :', os.path.join(options['log_directory'],
- 'access_log'))
+ print('Access Log File :', os.path.join(options['log_directory'],
+ 'access_log'))
+
+ if options['envvars_script']:
+ print('Environ Variables :', options['envvars_script'])
+
+ if command == 'setup-server':
+ if not options['envvars_script']:
+ print('Environ Variables :', options['server_root'] + '/envvars')
+ print('Control Script :', options['server_root'] + '/apachectl')
return options
def cmd_start_server(params):
+ formatter = optparse.IndentedHelpFormatter()
+ formatter.set_long_opt_delimiter(' ')
+
usage = '%prog start-server script [options]'
+ parser = optparse.OptionParser(usage=usage, option_list=option_list,
+ formatter=formatter)
+
+ (options, args) = parser.parse_args(params)
- options = cmd_setup_server(params, usage)
+ config = _cmd_setup_server('start-server', args, vars(options))
- executable = os.path.join(options['server_root'], 'apachectl')
- name = executable.ljust(len(options['process_name']))
+ executable = os.path.join(config['server_root'], 'apachectl')
+ name = executable.ljust(len(config['process_name']))
os.execl(executable, name, 'start', '-DNO_DETACH')
def cmd_install_module(params):
diff --git a/src/server/wsgi_version.h b/src/server/wsgi_version.h
index d145c30..42ac7fe 100644
--- a/src/server/wsgi_version.h
+++ b/src/server/wsgi_version.h
@@ -25,8 +25,8 @@
#define MOD_WSGI_MAJORVERSION_NUMBER 4
#define MOD_WSGI_MINORVERSION_NUMBER 2
-#define MOD_WSGI_MICROVERSION_NUMBER 1
-#define MOD_WSGI_VERSION_STRING "4.2.1"
+#define MOD_WSGI_MICROVERSION_NUMBER 2
+#define MOD_WSGI_VERSION_STRING "4.2.2"
/* ------------------------------------------------------------------------- */