Hello community, here is the log from the commit of package python-waitress for openSUSE:Factory checked in at 2017-05-08 19:03:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-waitress (Old) and /work/SRC/openSUSE:Factory/.python-waitress.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-waitress" Mon May 8 19:03:19 2017 rev:10 rq:493201 version:1.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-waitress/python-waitress.changes 2016-11-16 13:33:24.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python-waitress.new/python-waitress.changes 2017-05-08 19:04:01.343597468 +0200 @@ -1,0 +2,15 @@ +Mon May 1 16:38:04 UTC 2017 - toddrme2...@gmail.com + +- Update to 1.0.2 + * Python 3.6 is now officially supported in Waitress + * Add a work-around for libc issue on Linux not following the + documented standards. If getnameinfo() fails because of DNS not + being available it should return the IP address instead of the + reverse DNS entry, however instead getnameinfo() raises. We + catch this, and ask getnameinfo() for the same information + again, explicitly asking for IP address instead of reverse + DNS hostname. +- Implement single-spec version. +- Fix source URL. + +------------------------------------------------------------------- Old: ---- waitress-1.0.1.tar.gz New: ---- waitress-1.0.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-waitress.spec ++++++ --- /var/tmp/diff_new_pack.Uwcagc/_old 2017-05-08 19:04:02.255468650 +0200 +++ /var/tmp/diff_new_pack.Uwcagc/_new 2017-05-08 19:04:02.263467520 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-waitress # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,27 +16,29 @@ # +# Tests require a network connection +%bcond_with tests + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-waitress -Version: 1.0.1 +Version: 1.0.2 Release: 0 Summary: Waitress WSGI server License: ZPL-2.1 Group: Development/Languages/Python Url: https://github.com/Pylons/waitress -Source: https://pypi.io/packages/source/w/waitress/waitress-%{version}.tar.gz -BuildRequires: python-devel -BuildRequires: python-setuptools +Source: https://files.pythonhosted.org/packages/source/w/waitress/waitress-%{version}.tar.gz +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildRequires: %{python_module devel} +BuildRequires: %{python_module setuptools} +%if %{with tests} # Test requirements: -BuildRequires: python-nose -# Documentation requirements: -#BuildRequires: python-Sphinx -#BuildRequires: python-docutils +BuildRequires: %{python_module nose} +%endif BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if 0%{?suse_version} && 0%{?suse_version} <= 1110 -%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} -%else BuildArch: noarch -%endif +%python_subpackages %description Waitress is meant to be a production-quality pure-Python WSGI server with very @@ -52,19 +54,21 @@ %setup -q -n waitress-%{version} %build -python setup.py build -#python setup.py build_sphinx +%python_build %install -python setup.py install --prefix=%{_prefix} --root=%{buildroot} +%python_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} -## %check -## python setup.py test +%if %{with tests} +%check +%python_exec setup.py test +%endif -%files +%files %{python_files} %defattr(-,root,root,-) %doc COPYRIGHT.txt LICENSE.txt README.rst -%{_bindir}/waitress-serve +%python3_only %{_bindir}/waitress-serve %{python_sitelib}/* %changelog ++++++ waitress-1.0.1.tar.gz -> waitress-1.0.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/.travis.yml new/waitress-1.0.2/.travis.yml --- old/waitress-1.0.1/.travis.yml 2016-09-01 20:19:46.000000000 +0200 +++ new/waitress-1.0.2/.travis.yml 2017-02-04 23:49:37.000000000 +0100 @@ -12,12 +12,18 @@ env: TOXENV=py34 - python: 3.5 env: TOXENV=py35 + - python: 3.6 + env: TOXENV=py36 - python: pypy env: TOXENV=pypy - python: pypy3 env: TOXENV=pypy3 - python: 3.5 env: TOXENV=py2-cover,py3-cover,coverage + - python: 3.5 + env: TOXENV=docs + allow_failures: + - env: TOXENV=pypy3 install: - travis_retry pip install tox diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/CHANGES.txt new/waitress-1.0.2/CHANGES.txt --- old/waitress-1.0.1/CHANGES.txt 2016-10-22 21:40:14.000000000 +0200 +++ new/waitress-1.0.2/CHANGES.txt 2017-02-05 00:06:38.000000000 +0100 @@ -1,3 +1,22 @@ +1.0.2 (2017-02-04) +------------------ + +Features +~~~~~~~~ + +- Python 3.6 is now officially supported in Waitress + +Bugfixes +~~~~~~~~ + +- Add a work-around for libc issue on Linux not following the documented + standards. If getnameinfo() fails because of DNS not being available it + should return the IP address instead of the reverse DNS entry, however + instead getnameinfo() raises. We catch this, and ask getnameinfo() + for the same information again, explicitly asking for IP address instead of + reverse DNS hostname. See https://github.com/Pylons/waitress/issues/149 and + https://github.com/Pylons/waitress/pull/153 + 1.0.1 (2016-10-22) ------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/PKG-INFO new/waitress-1.0.2/PKG-INFO --- old/waitress-1.0.1/PKG-INFO 2016-10-22 21:45:13.000000000 +0200 +++ new/waitress-1.0.2/PKG-INFO 2017-02-05 00:10:18.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: waitress -Version: 1.0.1 +Version: 1.0.2 Summary: Waitress WSGI server Home-page: https://github.com/Pylons/waitress Author: Pylons Project @@ -16,6 +16,25 @@ http://docs.pylonsproject.org/projects/waitress/en/latest/ . + 1.0.2 (2017-02-04) + ------------------ + + Features + ~~~~~~~~ + + - Python 3.6 is now officially supported in Waitress + + Bugfixes + ~~~~~~~~ + + - Add a work-around for libc issue on Linux not following the documented + standards. If getnameinfo() fails because of DNS not being available it + should return the IP address instead of the reverse DNS entry, however + instead getnameinfo() raises. We catch this, and ask getnameinfo() + for the same information again, explicitly asking for IP address instead of + reverse DNS hostname. See https://github.com/Pylons/waitress/issues/149 and + https://github.com/Pylons/waitress/pull/153 + 1.0.1 (2016-10-22) ------------------ @@ -86,6 +105,7 @@ Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Natural Language :: English diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/appveyor.yml new/waitress-1.0.2/appveyor.yml --- old/waitress-1.0.1/appveyor.yml 2016-10-22 21:33:56.000000000 +0200 +++ new/waitress-1.0.2/appveyor.yml 2016-11-21 02:43:06.000000000 +0100 @@ -1,10 +1,19 @@ environment: matrix: + - PYTHON: "C:\\Python35" + TOXENV: "py35" - PYTHON: "C:\\Python27" TOXENV: "py27" - - PYTHON: "C:\\Python35" + - PYTHON: "C:\\Python27-x64" + TOXENV: "py27" + - PYTHON: "C:\\Python35-x64" TOXENV: "py35" +cache: + - '%LOCALAPPDATA%\pip\Cache' + +version: '{branch}.{build}' + install: - "%PYTHON%\\python.exe -m pip install tox" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/docs/filewrapper.rst new/waitress-1.0.2/docs/filewrapper.rst --- old/waitress-1.0.1/docs/filewrapper.rst 2014-05-14 08:44:44.000000000 +0200 +++ new/waitress-1.0.2/docs/filewrapper.rst 2017-02-04 23:40:16.000000000 +0100 @@ -3,7 +3,9 @@ Waitress supports the `WSGI file_wrapper protocol <http://www.python.org/dev/peps/pep-0333/#optional-platform-specific-file-handling>`_ -. Here's a usage example:: +. Here's a usage example: + +.. code-block:: python import os @@ -29,19 +31,19 @@ method must support an optional size hint argument and the ``read()`` method *must* return **bytes** objects (never unicode). It *should* support the ``seek()`` and ``tell()`` methods. If it does not, normal iteration over the -filelike object using the provided block_size is used (and copying is done, -negating any benefit of the file wrapper). It *should* support a ``close()`` -method. +``filelike_object`` using the provided ``block_size`` is used (and copying is +done, negating any benefit of the file wrapper). It *should* support a +``close()`` method. The specified ``block_size`` argument to the file wrapper constructor will be used only when the ``filelike_object`` doesn't support ``seek`` and/or ``tell`` methods. Waitress needs to use normal iteration to serve the file in this degenerate case (as per the WSGI pec), and this block size will be used as the iteration chunk size. The ``block_size`` argument is optional; -if it is not passed, a default value``32768`` is used. +if it is not passed, a default value ``32768`` is used. -Waitress will set a ``Content-Length`` header on the behalf of an application -when a file wrapper with a sufficiently filelike object is used if the +Waitress will set a ``Content-Length`` header on behalf of an application +when a file wrapper with a sufficiently file-like object is used if the application hasn't already set one. The machinery which handles a file wrapper currently doesn't do anything @@ -49,4 +51,4 @@ for example); using it currently just prevents the system from needing to copy data to a temporary buffer in order to send it to the client. No copying of data is done when a WSGI app returns a file wrapper that wraps a -sufficiently filelike object. It may do something fancier in the future. +sufficiently file-like object. It may do something fancier in the future. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/docs/index.rst new/waitress-1.0.2/docs/index.rst --- old/waitress-1.0.1/docs/index.rst 2016-09-01 20:19:46.000000000 +0200 +++ new/waitress-1.0.2/docs/index.rst 2017-02-04 23:40:16.000000000 +0100 @@ -4,7 +4,7 @@ Waitress is meant to be a production-quality pure-Python WSGI server with very acceptable performance. It has no dependencies except ones which live in the Python standard library. It runs on CPython on Unix and Windows under -Python 2.6+ and Python 3.2+. It is also known to run on PyPy 1.6.0 on UNIX. +Python 2.7+ and Python 3.3+. It is also known to run on PyPy 1.6.0 on UNIX. It supports HTTP/1.0 and HTTP/1.1. Usage @@ -23,7 +23,7 @@ .. code-block:: python - from waitress impot serve + from waitress import serve serve(wsgiapp, host='0.0.0.0', port=8080) This will run waitress on port 8080 on all available IPv4 addresses. @@ -36,7 +36,7 @@ from waitress import serve serve(wsgiapp) - + Press Ctrl-C (or Ctrl-Break on Windows) to exit the server. The default is to bind to any IPv4 address on port 8080: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/setup.cfg new/waitress-1.0.2/setup.cfg --- old/waitress-1.0.1/setup.cfg 2016-10-22 21:45:13.000000000 +0200 +++ new/waitress-1.0.2/setup.cfg 2017-02-05 00:10:18.000000000 +0100 @@ -16,7 +16,7 @@ docs = develop easy_install waitress[docs] [egg_info] -tag_date = 0 tag_build = +tag_date = 0 tag_svn_revision = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/setup.py new/waitress-1.0.2/setup.py --- old/waitress-1.0.1/setup.py 2016-10-22 21:36:48.000000000 +0200 +++ new/waitress-1.0.2/setup.py 2017-02-04 23:49:17.000000000 +0100 @@ -34,7 +34,7 @@ setup( name='waitress', - version='1.0.1', + version='1.0.2', author='Zope Foundation and Contributors', author_email='zope-...@zope.org', maintainer="Pylons Project", @@ -55,6 +55,7 @@ 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", 'Natural Language :: English', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/tox.ini new/waitress-1.0.2/tox.ini --- old/waitress-1.0.1/tox.ini 2016-09-01 20:19:46.000000000 +0200 +++ new/waitress-1.0.2/tox.ini 2017-02-04 23:58:30.000000000 +0100 @@ -1,6 +1,6 @@ [tox] envlist = - py27,py33,py34,py35,pypy,pypy3, + py27,py33,py34,py35,py36,pypy, docs, {py2,py3}-cover,coverage @@ -12,8 +12,8 @@ py33: python3.3 py34: python3.4 py35: python3.5 + py36: python3.6 pypy: pypy - pypy3: pypy3 py2: python2.7 py3: python3.5 @@ -26,7 +26,7 @@ whitelist_externals = make commands = pip install waitress[docs] - make -C docs html epub BUILDDIR={envdir} "SPHINXOPTS=-W -E" + make -C docs clean html epub BUILDDIR={envdir} "SPHINXOPTS=-W -E" [py-cover] commands = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/waitress/server.py new/waitress-1.0.2/waitress/server.py --- old/waitress-1.0.1/waitress/server.py 2016-10-22 21:33:56.000000000 +0200 +++ new/waitress-1.0.2/waitress/server.py 2017-02-04 23:40:16.000000000 +0100 @@ -294,9 +294,21 @@ self.bind(sockaddr) def getsockname(self): - return self.socketmod.getnameinfo( - self.socket.getsockname(), - self.socketmod.NI_NUMERICSERV) + try: + return self.socketmod.getnameinfo( + self.socket.getsockname(), + self.socketmod.NI_NUMERICSERV + ) + except: # pragma: no cover + # This only happens on Linux because a DNS issue is considered a + # temporary failure that will raise (even when NI_NAMEREQD is not + # set). Instead we try again, but this time we just ask for the + # numerichost and the numericserv (port) and return those. It is + # better than nothing. + return self.socketmod.getnameinfo( + self.socket.getsockname(), + self.socketmod.NI_NUMERICHOST | self.socketmod.NI_NUMERICSERV + ) def set_socket_options(self, conn): for (level, optname, value) in self.adj.socket_options: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/waitress/tests/test_runner.py new/waitress-1.0.2/waitress/tests/test_runner.py --- old/waitress-1.0.1/waitress/tests/test_runner.py 2015-12-21 00:28:30.000000000 +0100 +++ new/waitress-1.0.2/waitress/tests/test_runner.py 2017-02-05 00:04:08.000000000 +0100 @@ -104,8 +104,8 @@ ['nonexistent:a'], 1, ( - r"There was an exception \(ImportError\) importing your " - "module.\n\nIt had these arguments: \n" + r"There was an exception \((ImportError|ModuleNotFoundError)\) " + "importing your module.\n\nIt had these arguments: \n" "1. No module named '?nonexistent'?" ) ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/waitress-1.0.1/waitress.egg-info/PKG-INFO new/waitress-1.0.2/waitress.egg-info/PKG-INFO --- old/waitress-1.0.1/waitress.egg-info/PKG-INFO 2016-10-22 21:45:09.000000000 +0200 +++ new/waitress-1.0.2/waitress.egg-info/PKG-INFO 2017-02-05 00:10:14.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: waitress -Version: 1.0.1 +Version: 1.0.2 Summary: Waitress WSGI server Home-page: https://github.com/Pylons/waitress Author: Pylons Project @@ -16,6 +16,25 @@ http://docs.pylonsproject.org/projects/waitress/en/latest/ . + 1.0.2 (2017-02-04) + ------------------ + + Features + ~~~~~~~~ + + - Python 3.6 is now officially supported in Waitress + + Bugfixes + ~~~~~~~~ + + - Add a work-around for libc issue on Linux not following the documented + standards. If getnameinfo() fails because of DNS not being available it + should return the IP address instead of the reverse DNS entry, however + instead getnameinfo() raises. We catch this, and ask getnameinfo() + for the same information again, explicitly asking for IP address instead of + reverse DNS hostname. See https://github.com/Pylons/waitress/issues/149 and + https://github.com/Pylons/waitress/pull/153 + 1.0.1 (2016-10-22) ------------------ @@ -86,6 +105,7 @@ Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Natural Language :: English