diff options
| -rw-r--r-- | MANIFEST.in | 1 | ||||
| -rw-r--r-- | README.rst | 15 | ||||
| -rw-r--r-- | docs/configuration-directives/WSGIDaemonProcess.rst | 2 | ||||
| -rw-r--r-- | docs/release-notes.rst | 2 | ||||
| -rw-r--r-- | docs/release-notes/version-4.7.0.rst | 29 | ||||
| -rwxr-xr-x | package.sh | 15 | ||||
| -rw-r--r-- | pyproject.toml.in | 3 | ||||
| -rw-r--r-- | setup.py | 5 | ||||
| -rwxr-xr-x | src/server/wsgi_version.h | 6 | ||||
| -rw-r--r-- | tests/access.wsgi | 2 |
10 files changed, 74 insertions, 6 deletions
diff --git a/MANIFEST.in b/MANIFEST.in index 0604f20..2952dd0 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -15,3 +15,4 @@ include docs/_build/html/_static/css/* include docs/_build/html/_static/font/* include docs/_build/html/_static/js/* include docs/_build/html/_sources/* +include pyproject.toml @@ -108,6 +108,11 @@ distributions for Windows aren't always complete and are missing the files needed to compile additional Apache modules. By default, it is expected that Apache is installed in the directory ``C:/Apache24`` on Windows. +If you are on Linux, macOS or other UNIX type operating system and can't +or don't want to use the system package for Apache, you can use ``pip`` +to install mod_wsgi, but you should use use the ``mod_wsgi-standalone`` +package on PyPi instead of the ``mod_wsgi`` package. + Installation into Apache ------------------------ @@ -146,6 +151,16 @@ standard location, you can set and export the ``APXS`` environment variable to the location of the Apache ``apxs`` script for your Apache installation before performing the installation. +If you are using Linux, macOS or other UNIX type operating system, and you +don't have Apache available, you can instead install mod_wsgi using:: + + pip install mod_wsgi-standalone + +When installing ``mod_wsgi-standalone``, it will also install a version +of Apache into your Python distribution. You can only use ``mod_wsgi-express`` +when using this variant of the package. The ``mod_wsgi-standalone`` package +follows the same version numbering as the ``mod_wsgi`` package on PyPi. + If you are on Windows and your Apache distribution is not installed into the directory ``C:/Apache24``, first set the environment variable ``MOD_WSGI_APACHE_ROOTDIR`` to the directory containing the Apache diff --git a/docs/configuration-directives/WSGIDaemonProcess.rst b/docs/configuration-directives/WSGIDaemonProcess.rst index 601b7f9..c998764 100644 --- a/docs/configuration-directives/WSGIDaemonProcess.rst +++ b/docs/configuration-directives/WSGIDaemonProcess.rst @@ -184,7 +184,7 @@ Options which can be supplied to the ``WSGIDaemonProcess`` directive are: Only one of ``script-user`` or ``script-group`` option can be used at the same time. -**script-group=name | scrip-group=#gid** +**script-group=name | script-group=#gid** Sets the group that must be the group of any WSGI script file delegated to be run in the daemon process group. If the group doesn't match a HTTP Forbidden response will be returned for any request. diff --git a/docs/release-notes.rst b/docs/release-notes.rst index 22cf506..964571b 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -5,6 +5,8 @@ Release Notes .. toctree:: :maxdepth: 2 + release-notes/version-4.7.0 + release-notes/version-4.6.8 release-notes/version-4.6.7 release-notes/version-4.6.6 diff --git a/docs/release-notes/version-4.7.0.rst b/docs/release-notes/version-4.7.0.rst new file mode 100644 index 0000000..36930e5 --- /dev/null +++ b/docs/release-notes/version-4.7.0.rst @@ -0,0 +1,29 @@ +============= +Version 4.7.0 +============= + +Version 4.7.0 of mod_wsgi can be obtained from: + + https://codeload.github.com/GrahamDumpleton/mod_wsgi/tar.gz/4.7.0 + +New Features +------------ + +* Now releasing parallel ``mod_wsgi-standalone`` package to PyPi. This is + the same as the ``mod_wsgi`` package, except that by installing the + ``mod_wsgi-standalone`` package, it will automatically trigger the + ``mod_wsgi-httpd`` package to install the Apache HTTPD server as part + of your Python installation. When you run ``mod_wsgi-express`` it will + use that Apache HTTPD server installation. + + The ``mod_wsgi-standalone`` package is required where you need to install + ``mod_wsgi-express`` using its own Apache HTTPD installation due to no + system Apache HTTPD server package being available, and the installation + needs to be done using a ``requirements.txt`` file for ``pip`` or other + package install manager. Using ``mod_wsgi-standalone`` will ensure + that the ``mod_wsgi-httpd`` package is installed first before attempting + to build and install mod_wsgi. This guarantee is not provided by ``pip`` + if you list ``mod_wsgi-httpd`` and ``mod_wsgi`` packages as two entries. + + The version numbering of the ``mod_wsgi-standalone`` package will follow + the ``mod_wsgi`` versioning. diff --git a/package.sh b/package.sh new file mode 100755 index 0000000..a9d9768 --- /dev/null +++ b/package.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -eo pipefail + +rm -rf dist + +rm -f pyproject.toml + +python setup.py sdist + +ln -s pyproject.toml.in pyproject.toml + +python setup.py sdist + +rm -f pyproject.toml diff --git a/pyproject.toml.in b/pyproject.toml.in new file mode 100644 index 0000000..17c19e3 --- /dev/null +++ b/pyproject.toml.in @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools>=40.8.0", "wheel", "mod_wsgi-httpd==2.4.41.1"] +build-backend = "setuptools.build_meta:__legacy__" @@ -544,7 +544,9 @@ if os.name != 'nt': long_description = open('README.rst').read() -setup(name = 'mod_wsgi', +standalone = os.path.exists('pyproject.toml') + +setup(name = standalone and 'mod_wsgi-standalone' or 'mod_wsgi', version = _version(), description = 'Installer for Apache/mod_wsgi.', long_description = long_description, @@ -590,4 +592,5 @@ setup(name = 'mod_wsgi', entry_points = { 'console_scripts': ['mod_wsgi-express = mod_wsgi.server:main'],}, zip_safe = False, + install_requires = standalone and ['mod_wsgi-httpd==2.4.41.1'] or [], ) diff --git a/src/server/wsgi_version.h b/src/server/wsgi_version.h index 5fac22f..3a25587 100755 --- a/src/server/wsgi_version.h +++ b/src/server/wsgi_version.h @@ -24,9 +24,9 @@ /* Module version information. */ #define MOD_WSGI_MAJORVERSION_NUMBER 4 -#define MOD_WSGI_MINORVERSION_NUMBER 6 -#define MOD_WSGI_MICROVERSION_NUMBER 8 -#define MOD_WSGI_VERSION_STRING "4.6.8" +#define MOD_WSGI_MINORVERSION_NUMBER 7 +#define MOD_WSGI_MICROVERSION_NUMBER 0 +#define MOD_WSGI_VERSION_STRING "4.7.0" /* ------------------------------------------------------------------------- */ diff --git a/tests/access.wsgi b/tests/access.wsgi index a0ebfc3..7395e99 100644 --- a/tests/access.wsgi +++ b/tests/access.wsgi @@ -1,3 +1,3 @@ def allow_access(environ, host): - print environ, host + print(environ, host) return True |
