diff --git a/0001_create_a_thread_to_reap_death_process.patch b/0001_create_a_thread_to_reap_death_process.patch index 51b0403..cd84620 100644 --- a/0001_create_a_thread_to_reap_death_process.patch +++ b/0001_create_a_thread_to_reap_death_process.patch @@ -19,29 +19,28 @@ Fixes #810 werkzeug/serving.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) -Index: Werkzeug-0.12.1/werkzeug/serving.py +Index: Werkzeug-0.15.4/src/werkzeug/serving.py =================================================================== ---- Werkzeug-0.12.1.orig/werkzeug/serving.py -+++ Werkzeug-0.12.1/werkzeug/serving.py -@@ -41,6 +41,7 @@ import os +--- Werkzeug-0.15.4.orig/src/werkzeug/serving.py ++++ Werkzeug-0.15.4/src/werkzeug/serving.py +@@ -41,6 +41,7 @@ import signal import socket import sys - import signal + +import threading - - - can_fork = hasattr(os, "fork") -@@ -562,13 +563,31 @@ class ForkingWSGIServer(ForkingMixIn, Ba - multiprocess = True - - def __init__(self, host, port, app, processes=40, handler=None, -- passthrough_errors=False, ssl_context=None, fd=None): -+ passthrough_errors=False, ssl_context=None, fd=None, -+ frequency=5): + import werkzeug + from ._compat import PY2 + from ._compat import reraise +@@ -775,6 +776,7 @@ class ForkingWSGIServer(ForkingMixIn, Ba + passthrough_errors=False, + ssl_context=None, + fd=None, ++ frequency=5, + ): if not can_fork: - raise ValueError('Your platform does not support forking.') - BaseWSGIServer.__init__(self, host, port, app, handler, - passthrough_errors, ssl_context, fd) + raise ValueError("Your platform does not support forking.") +@@ -783,6 +785,23 @@ class ForkingWSGIServer(ForkingMixIn, Ba + ) self.max_children = processes + if frequency: @@ -62,5 +61,5 @@ Index: Werkzeug-0.12.1/werkzeug/serving.py + self.setup_reap_children() + - def make_server(host=None, port=None, app=None, threaded=False, processes=1, - request_handler=None, passthrough_errors=False, + def make_server( + host=None, diff --git a/Werkzeug-0.14.1.tar.gz b/Werkzeug-0.14.1.tar.gz deleted file mode 100644 index 6b43dec..0000000 --- a/Werkzeug-0.14.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c -size 1185546 diff --git a/Werkzeug-0.15.4.tar.gz b/Werkzeug-0.15.4.tar.gz new file mode 100644 index 0000000..532be9c --- /dev/null +++ b/Werkzeug-0.15.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0b915f0815982fb2a09161cb8f31708052d0951c3ba433ccc5e1aa276507ca6 +size 925334 diff --git a/python-Werkzeug-doc.changes b/python-Werkzeug-doc.changes deleted file mode 100644 index 049e1a5..0000000 --- a/python-Werkzeug-doc.changes +++ /dev/null @@ -1,158 +0,0 @@ -------------------------------------------------------------------- -Wed Jan 3 23:07:03 UTC 2018 - arun@gmx.de - -- specfile: - * update copyright year - -- update to version 0.14.1: - * Resolved a regression with status code handling in the integrated - development server. - -- changes from version 0.14: - * HTTP exceptions are now automatically caught by - Request.application. - * Added support for edge as browser. - * Added support for platforms that lack SpooledTemporaryFile. - * Add support for etag handling through if-match - * Added support for the SameSite cookie attribute. - * Added werkzeug.wsgi.ProxyMiddleware - * Implemented has for NullCache - * get_multi on cache clients now returns lists all the time. - * Improved the watchdog observer shutdown for the reloader to not - crash on exit on older Python versions. - * Added support for filename* filename attributes according to RFC - 2231 - * Resolved an issue where machine ID for the reloader PIN was not - read accurately on windows. - * Added a workaround for syntax errors in init files in the - reloader. - * Added support for using the reloader with console scripts on - windows. - * The built-in HTTP server will no longer close a connection in - cases where no HTTP body is expected (204, 204, HEAD requests - etc.) - * The EnvironHeaders object now skips over empty content type and - lengths if they are set to falsy values. - * Werkzeug will no longer send the content-length header on 1xx or - 204/304 responses. - * Cookie values are now also permitted to include slashes and equal - signs without quoting. - * Relaxed the regex for the routing converter arguments. - * If cookies are sent without values they are now assumed to have an - empty value and the parser accepts this. Previously this could - have corrupted cookies that followed the value. - * The test Client and EnvironBuilder now support mimetypes like the - request object does. - * Added support for static weights in URL rules. - * Better handle some more complex reloader scenarios where sys.path - contained non directory paths. - * EnvironHeaders no longer raises weird errors if non string keys - are passed to it. - -------------------------------------------------------------------- -Fri Dec 8 18:07:40 UTC 2017 - arun@gmx.de - -- specfile: - * added CHANGES.rst and README.rst to %doc section - * require requests and hypothesis for tests - -- update to version 0.13: - * Deprecate support for Python 2.6 and 3.3. CI tests will not run - for these versions, and support will be dropped completely in the - next version. (pallets/meta#24) - * Raise TypeError when port is not an integer. (#1088) - * Fully deprecate werkzeug.script. Use Click instead. (#1090) - * response.age is parsed as a timedelta. Previously, it was - incorrectly treated as a datetime. The header value is an integer - number of seconds, not a date string. (#414) - * Fix a bug in TypeConversionDict where errors are not propagated - when using the converter. (#1102) - * Authorization.qop is a string instead of a set, to comply with RFC - 2617. (#984) - * An exception is raised when an encoded cookie is larger than, by - default, 4093 bytes. Browsers may silently ignore cookies larger - than this. BaseResponse has a new attribute max_cookie_size and - dump_cookie has a new argument max_size to configure this. (#780, - #1109) - * Fix a TypeError in - werkzeug.contrib.lint.GuardedIterator.close. (#1116) - * BaseResponse.calculate_content_length now correctly works for - Unicode responses on Python 3. It first encodes using - iter_encoded. (#705) - * Secure cookie contrib works with string secret key on Python - 3. (#1205) - * Shared data middleware accepts a list instead of a dict of static - locations to preserve lookup order. (#1197) - * HTTP header values without encoding can contain single - quotes. (#1208) - * The built-in dev server supports receiving requests with chunked - transfer encoding. (#1198) - -------------------------------------------------------------------- -Tue Aug 8 19:29:05 UTC 2017 - tbechtold@suse.com - -- update to 0.12.2: - - Fix regression: Pull request ``#892`` prevented Werkzeug from correctly - logging the IP of a remote client behind a reverse proxy, even when using - `ProxyFix`. - - Fix a bug in `safe_join` on Windows. - -------------------------------------------------------------------- -Tue Apr 4 15:47:05 UTC 2017 - jmatejek@suse.com - -- update to 0.12.1 -- use python3-Sphinx for build - -------------------------------------------------------------------- -Thu Sep 15 23:08:05 UTC 2016 - toddrme2178@gmail.com - -- update to version 0.11.11: - * Fix JSONRequestMixin for Python3. See #731 - * Fix broken string handling in test client when passing - integers. See #852 - * Fix a bug in "parse_options_header" where an invalid content type - starting with comma or semi-colon would result in an invalid - return value, see issue "#995". - * Fix a bug in multidicts when passing empty lists as values, see - issue "#979". - * Fix a security issue that allows XSS on the Werkzeug debugger. See - "#1001". -- update to version 0.11.10: - * Fixed a bug that occurs when running on Python 2.6 and using a - broken locale. See pull request #912. - * Fixed a crash when running the debugger on Google App Engine. See - issue #925. - * Fixed an issue with multipart parsing that could cause memory - exhaustion. -- Update to 0.11.9 - - Corrected an issue that caused the debugger not to use the - machine GUID on POSIX systems. - - Corrected an Unicode error on Python 3 for the debugger's - PIN usage. - - Corrected the timestamp verification in the pin debug code. - Without this fix the pin was remebered until too long. -- update to version 0.11.8: - * fixed a problem with the machine GUID detection code on OS X on - Python 3. -- changes from version 0.11.7: - * fixed a regression on Python 3 for the debugger. -- changes from version 0.11.6: - * werkzeug.serving: Still show the client address on bad requests. - * improved the PIN based protection for the debugger to make it - harder to brute force via trying cookies. Please keep in mind - that the debugger *is not intended for running on production - environments* - * increased the pin timeout to a week to make it less annoying for - people which should decrease the change that users disable the pin - check entirely. - * werkzeug.serving: Fix broken HTTP_HOST when path starts with - double slash. -- update to version 0.11.5: - * werkzeug.serving: Fix crash when attempting SSL connection to HTTP - server. -- update to version 0.11.4: - * Fixed werkzeug.serving not working from -m flag. - * Fixed incorrect weak etag handling. -- Rebase 0001_create_a_thread_to_reap_death_process.patch -- Split documentation into own subpackage to speed up build. - diff --git a/python-Werkzeug-doc.spec b/python-Werkzeug-doc.spec deleted file mode 100644 index 8dbd11d..0000000 --- a/python-Werkzeug-doc.spec +++ /dev/null @@ -1,54 +0,0 @@ -# -# spec file for package python-Werkzeug-doc -# -# Copyright (c) 2018 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 -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -%{?!python_module:%define python_module() python-%{**} python3-%{**}} -Name: python-Werkzeug-doc -Version: 0.14.1 -Release: 0 -Summary: Documentation for python-Werkzeug -License: BSD-3-Clause -Group: Documentation/Other -URL: http://werkzeug.pocoo.org/ -Source: https://files.pythonhosted.org/packages/source/W/Werkzeug/Werkzeug-%{version}.tar.gz -BuildRequires: python3-Sphinx -BuildRequires: python3-Werkzeug = %{version} -BuildRequires: python3-setuptools -Provides: %{python_module Werkzeug-doc = %{version}} -BuildArch: noarch - -%description -Documentation and examples for python-Werkzeug - -%prep -%setup -q -n Werkzeug-%{version} -sed -i "s/\r//" LICENSE # Fix wrong EOL-encoding -sed -i "1d" examples/manage-{i18nurls,simplewiki,shorty,couchy,cupoftee,webpylike,plnt,coolmagic}.py # Fix non-executable scripts - -%build -# Not needed - -%install -cd docs && make html && rm -rf _build/html/.buildinfo # Build HTML Documentation - -%files -%license LICENSE -%doc AUTHORS README.rst CHANGES.rst -%doc docs/_build/html -%doc examples - -%changelog diff --git a/python-Werkzeug.changes b/python-Werkzeug.changes index 4006bcf..2c0e65a 100644 --- a/python-Werkzeug.changes +++ b/python-Werkzeug.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon May 27 08:43:55 UTC 2019 - Ondřej Súkup + +- update to 0.15.4 +- refreshed 0001_create_a_thread_to_reap_death_process.patch +- drop python-Werkzeug-doc package +- last stable update with long Changelog -> please see CHANGELOG.rst + ------------------------------------------------------------------- Thu May 10 15:44:58 UTC 2018 - toddrme2178@gmail.com diff --git a/python-Werkzeug.spec b/python-Werkzeug.spec index 273da9c..0483654 100644 --- a/python-Werkzeug.spec +++ b/python-Werkzeug.spec @@ -1,7 +1,7 @@ # # spec file for package python-Werkzeug # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 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 @@ -12,14 +12,14 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define oldpython python %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-Werkzeug -Version: 0.14.1 +Version: 0.15.4 Release: 0 Summary: The Swiss Army knife of Python web development License: BSD-3-Clause @@ -32,15 +32,15 @@ BuildRequires: %{python_module hypothesis} BuildRequires: %{python_module pytest} BuildRequires: %{python_module requests} BuildRequires: %{python_module setuptools} +BuildRequires: fdupes BuildRequires: python-rpm-macros -BuildRequires: python2 BuildArch: noarch -%if 0%{?suse_version} >= 1000 || 0%{?fedora_version} >= 24 Recommends: python-termcolor Recommends: python-watchdog -%endif +Obsoletes: python-Werkzeug-doc < %{version} +Provides: python-Werkzeug-doc = %{version} + %ifpython2 -Requires: python2 Provides: %{oldpython}-werkzeug = %{version} Obsoletes: %{oldpython}-werkzeug < %{version} %endif @@ -63,7 +63,6 @@ bulletin boards, etc.). %prep %setup -q -n Werkzeug-%{version} -sed -i "s/\r//" LICENSE # Fix wrong EOL-encoding sed -i "1d" examples/manage-{i18nurls,simplewiki,shorty,couchy,cupoftee,webpylike,plnt,coolmagic}.py # Fix non-executable scripts %patch0 -p1 @@ -72,17 +71,16 @@ sed -i "1d" examples/manage-{i18nurls,simplewiki,shorty,couchy,cupoftee,webpylik %install %python_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} %check -%{python_expand export LANG=en_US.UTF-8 +export LANG=en_US.UTF-8 export PYTHONDONTWRITEBYTECODE=1 -export PYTHONPATH=%{buildroot}%{$python_sitelib} -$python -m pytest -} +%pytest %files %{python_files} -%license LICENSE -%doc AUTHORS CHANGES.rst +%license LICENSE.rst +%doc CHANGES.rst README.rst %{python_sitelib}/* %changelog