diff options
-rw-r--r-- | docs/release-notes/index.rst | 1 | ||||
-rw-r--r-- | docs/release-notes/version-4.2.2.rst | 31 | ||||
-rw-r--r-- | src/server/__init__.py | 58 | ||||
-rw-r--r-- | src/server/wsgi_version.h | 4 |
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" /* ------------------------------------------------------------------------- */ |