Hi ports@,
This is an update for www/py-gunicorn from 19.9.0 to 20.0.4.
Here's a list of changes to the software:
20.0.4
* fix binding a socket using the file descriptor
* remove support for the bdist_rpm build
20.0.3
* fixed load of a config file without a Python extension
* fixed socketfromfd.fromfd when defaults are not set
20.0.2
* fix changelog
20.0.1
* fixed the way the config module is loaded. __file__ is now available
* fixed wsgi.input_terminated. It is always true.
* use the highest protocol version of openssl by default
* only support Python >= 3.5
* added __repr__ method to Config instance
* fixed support of AIX platform and musl libc in socketfromfd.fromfd
function
* fixed support of applications loaded from a factory function
* fixed chunked encoding support to prevent any request smuggling
<https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn>_
* Capture os.sendfile before patching in gevent and eventlet workers.
* fix RecursionError.
* removed locking in reloader when adding new files
* load the WSGI application before the loader to pick up all files
20.0
* Fixed fdopen RuntimeWarning in Python 3.8
* Added check and exception for str type on value in Response
process_headers method.
* Ensure WSGI header value is string before conducting regex search on
it.
* Added pypy3 to list of tested environments
* Grouped StopIteration and KeyboardInterrupt exceptions with same body
together in Arbiter.run()
* Added setproctitle module to extras_require in setup.py
* Avoid unnecessary chown of temporary files
* Logging: Handle auth type case insensitively
* Removed util.import_module
* Removed fallback for types.SimpleNamespace in tests utils
* Use SourceFileLoader instead instead of execfile_
* Use importlib instead of __import__ and eval`
* Fixed eventlet patching
* Added optional datadog <https://www.datadoghq.com>_ tags for statsd
metrics
* Header values now are encoded using latin-1, not ascii.
* Rewritten parse_address util added test
* Removed redundant super() arguments
* Simplify futures import in gthread module
* Fixed worker_connections` setting to also affects the Gthread worker
type
* Fixed setting max_requests
* Bump minimum Eventlet and Gevent versions to 0.24 and 1.4
* Use Python default SSL cipher list by default
* handle wsgi.input_terminated extension
* Simplify Paste Deployment documentation
* Fix root logging: root and logger are same level.
* Fixed typo in ssl_version documentation
* Documented systemd deployement unit examples
* Added systemd sd_notify support
* Fixed typo in gthread.py
* Added tornado <https://www.tornadoweb.org/>_ 5 and 6 support
* Declare our setuptools dependency
* Added support to --bind to open file descriptors
* Document how to serve WSGI app modules from Gunicorn
* Provide guidance on X-Forwarded-For access log in documentation
* Add support for named constants in the --ssl-version flag
* Clarify log format usage of header & environment in documentation
* Fixed systemd documentation to properly setup gunicorn unix socket
* Prevent removal unix socket for reuse_port
* Fix ResourceWarning when reading a Python config module
* Remove unnecessary call to dict keys method
* Support str and bytes for UNIX socket addresses
* fixed InotifyReloadeder: handle module.__file__ is None
* /dev/shm as a convenient alternative to making your own tmpfs mount in
fchmod FAQ
* fix examples to work on python3
* Fix typo in --max-requests documentation
* Clear tornado ioloop before os.fork
* Miscellaneous fixes and improvement for linting using Pylint
About the port itself, I made it py3 only, as the consumers are already
py3 only.
All tests pass for me on amd64. The consumers for this port both have
NO_TEST=yes. For reference they are:
* www/puppetboard
* www/py-aiohttp
(I tried to update this one and enable tests. I gave up because some
tests try to contact secure.aiohttp.io which does not even resolve for
me ...)
Comments and/or ok welcome.
Index: Makefile
===================================================================
RCS file: /home/cvs/ports/www/py-gunicorn/Makefile,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile
--- Makefile 12 Jul 2019 20:51:01 -0000 1.23
+++ Makefile 8 Mar 2020 17:53:18 -0000
@@ -2,11 +2,10 @@
COMMENT = Python WSGI HTTP server
-MODPY_EGG_VERSION = 19.9.0
+MODPY_EGG_VERSION = 20.0.4
DISTNAME = gunicorn-${MODPY_EGG_VERSION}
PKGNAME = py-${DISTNAME}
CATEGORIES = www
-REVISION = 0
HOMEPAGE = http://gunicorn.org/
@@ -16,26 +15,19 @@ PERMIT_PACKAGE = Yes
MODULES = lang/python
MODPY_PI = Yes
MODPY_SETUPTOOLS = Yes
+MODPY_PYTEST = Yes
FLAVORS = python3
-FLAVOR ?=
+FLAVOR = python3
-# py-aiohttp and py-multidict are python3 only
-.if ${FLAVOR:Mpython3}
RUN_DEPENDS += www/py-aiohttp \
www/py-multidict
-.endif
+
TEST_DEPENDS = devel/py-coverage${MODPY_FLAVOR} \
devel/py-test${MODPY_FLAVOR} \
devel/py-test-cov${MODPY_FLAVOR} \
${BASE_PKGPATH}=${MODPY_EGG_VERSION}
-.if ! ${FLAVOR:Mpython3}
-TEST_DEPENDS += devel/py-mock
-.endif
-post-install:
- for i in ${PREFIX}/bin/*; do \
- mv $${i} $${i}${MODPY_BIN_SUFFIX} ;\
- done
+TEST_DEPENDS += devel/py-mock
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/www/py-gunicorn/distinfo,v
retrieving revision 1.14
diff -u -p -r1.14 distinfo
--- distinfo 24 Apr 2019 20:14:08 -0000 1.14
+++ distinfo 8 Mar 2020 17:56:07 -0000
@@ -1,2 +1,2 @@
-SHA256 (gunicorn-19.9.0.tar.gz) = +iZiCXxm+SD1P3BiHGxYyko8TTQ0IF5gjhIbWztx9PM=
-SIZE (gunicorn-19.9.0.tar.gz) = 415774
+SHA256 (gunicorn-20.0.4.tar.gz) = GQS7K4pDZYgHEI1Zw/PVbCthIacBFh3g3fmtFABzxiY=
+SIZE (gunicorn-20.0.4.tar.gz) = 373841
Index: patches/patch-requirements_test_txt
===================================================================
RCS file: patches/patch-requirements_test_txt
diff -N patches/patch-requirements_test_txt
--- patches/patch-requirements_test_txt 24 Apr 2019 20:14:08 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-requirements_test_txt,v 1.4 2019/04/24 20:14:08 sthen Exp $
-
-Relax overly strict requirements
-
-Index: requirements_test.txt
---- requirements_test.txt.orig
-+++ requirements_test.txt
-@@ -1,3 +1,3 @@
--coverage>=4.0,<4.4 # TODO: https://github.com/benoitc/gunicorn/issues/1548
--pytest==3.2.5 # TODO: upgrade to latest version requires drop support to Python 2.6
--pytest-cov==2.5.1
-+coverage
-+pytest
-+pytest-cov
Index: pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/www/py-gunicorn/pkg/PLIST,v
retrieving revision 1.9
diff -u -p -r1.9 PLIST
--- pkg/PLIST 24 Apr 2019 20:14:08 -0000 1.9
+++ pkg/PLIST 8 Mar 2020 18:04:58 -0000
@@ -1,6 +1,7 @@
@comment $OpenBSD: PLIST,v 1.9 2019/04/24 20:14:08 sthen Exp $
-bin/gunicorn${MODPY_BIN_SUFFIX}
-bin/gunicorn_paster${MODPY_BIN_SUFFIX}
+@conflict py-gunicorn-*
+@pkgpath www/py-gunicorn
+bin/gunicorn
lib/python${MODPY_VERSION}/site-packages/gunicorn/
lib/python${MODPY_VERSION}/site-packages/gunicorn-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/
lib/python${MODPY_VERSION}/site-packages/gunicorn-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/PKG-INFO
@@ -13,21 +14,16 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/gunicorn/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}_compat.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}arbiter.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}argparse_compat.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}debug.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}errors.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}glogging.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}pidfile.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}reloader.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}selectors.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}six.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}sock.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}systemd.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/gunicorn/_compat.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/app/
lib/python${MODPY_VERSION}/site-packages/gunicorn/app/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/gunicorn/app/${MODPY_PYCACHE}/
@@ -39,7 +35,6 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/gunicorn/app/pasterapp.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/app/wsgiapp.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/arbiter.py
-lib/python${MODPY_VERSION}/site-packages/gunicorn/argparse_compat.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/config.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/debug.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/errors.py
@@ -48,14 +43,12 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/gunicorn/http/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/gunicorn/http/${MODPY_PYCACHE}_sendfile.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/${MODPY_PYCACHE}body.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/${MODPY_PYCACHE}errors.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/${MODPY_PYCACHE}message.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/${MODPY_PYCACHE}parser.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/${MODPY_PYCACHE}unreader.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/${MODPY_PYCACHE}wsgi.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/gunicorn/http/_sendfile.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/body.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/errors.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/http/message.py
@@ -70,8 +63,6 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/gunicorn/instrument/statsd.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/pidfile.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/reloader.py
-lib/python${MODPY_VERSION}/site-packages/gunicorn/selectors.py
-lib/python${MODPY_VERSION}/site-packages/gunicorn/six.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/sock.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/systemd.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/util.py
@@ -79,20 +70,16 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
-${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}_gaiohttp.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}base_async.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}gaiohttp.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}geventlet.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}ggevent.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}gthread.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}gtornado.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/${MODPY_PYCACHE}workertmp.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/_gaiohttp.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/base.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/base_async.py
-lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/gaiohttp.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/geventlet.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/ggevent.py
lib/python${MODPY_VERSION}/site-packages/gunicorn/workers/gthread.py
--
Paco Esteban.
0x5818130B8A6DBC03
No comments:
Post a Comment