diff options
author | Graham Dumpleton <Graham.Dumpleton@gmail.com> | 2019-12-20 17:09:09 +1100 |
---|---|---|
committer | Graham Dumpleton <Graham.Dumpleton@gmail.com> | 2019-12-20 17:09:09 +1100 |
commit | 4b89893ca3832adae3c464716634932cb5db47ab (patch) | |
tree | 5b7e955e4ff424ecd34b9260cc6af1253fca4e7b | |
parent | 2ec84a1edfbe5735112606bc58e3b34b872c2e93 (diff) | |
download | mod_wsgi-4b89893ca3832adae3c464716634932cb5db47ab.tar.gz |
Add way of installing parallel mod_wsgi-standalone package.
-rw-r--r-- | MANIFEST.in | 1 | ||||
-rw-r--r-- | README.rst | 15 | ||||
-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 |
7 files changed, 69 insertions, 1 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/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 [], ) |