python-Werkzeug/python-Werkzeug.spec
Markéta Machová cffcaef68a Accepting request 1003019 from home:yarunachalam:branches:devel:languages:python
- test failed due to markupsafe module missing
  Included markupsafe module

- Update to 2.2.2:
  * Fix router to restore the 2.1 strict_slashes == False behaviour whereby leaf-requests match branch rules and vice versa. #2489
  * Fix router to identify invalid rules rather than hang parsing them, and to correctly parse / within converter arguments. #2489
  * Update subpackage imports in werkzeug.routing to use the import as syntax for explicitly re-exporting public attributes. #2493
  * Parsing of some invalid header characters is more robust. #2494
  * When starting the development server, a warning not to use it in a production deployment is always shown. #2480
  * LocalProxy.__wrapped__ is always set to the wrapped object when the proxy is unbound, fixing an issue in doctest that would cause it to fail. #2485
  * Address one ResourceWarning related to the socket used by run_simple. #2421
- Update to Version 2.2.1:
  * Fix router so that /path/ will match a rule /path if strict slashes mode is disabled for the rule. #2467
  * Fix router so that partial part matches are not allowed i.e. /2df does not match /<int>. #2470
  * Fix router static part weighting, so that simpler routes are matched before more complex ones. #2471
  * Restore ValidationError to be importable from werkzeug.routing. #2465
- Update to Version 2.2.0
  * Deprecated get_script_name, get_query_string, peek_path_info, pop_path_info, and extract_path_info. #2461
  * Remove previously deprecated code. #2461
  * Add MarkupSafe as a dependency and use it to escape values when rendering HTML. #2419
  * Added the werkzeug.debug.preserve_context mechanism for restoring context-local data for a request when running code in the debug console. #2439
  * Fix compatibility with Python 3.11 by ensuring that end_lineno and end_col_offset are present on AST nodes. #2425
  * Add a new faster matching router based on a state machine. #2433
  * Fix branch leaf path masking branch paths when strict-slashes is disabled. #1074
  * Names within options headers are always converted to lowercase. This matches RFC 6266 that the case is not relevant. #2442
  * AnyConverter validates the value passed for it when building URLs. #2388
  * The debugger shows enhanced error locations in tracebacks in Python 3.11. #2407
  * Added Sans-IO is_resource_modified and parse_cookie functions based on WSGI versions. #2408
  * Added Sans-IO get_content_length function. #2415
  * Don’t assume a mimetype for test responses. #2450

OBS-URL: https://build.opensuse.org/request/show/1003019
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Werkzeug?expand=0&rev=70
2022-09-13 07:06:16 +00:00

114 lines
4.2 KiB
RPMSpec

#
# spec file
#
# Copyright (c) 2022 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
%define skip_python36 1
Name: python-Werkzeug%{psuffix}
Version: 2.2.2
Release: 0
Summary: The Swiss Army knife of Python web development
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://werkzeug.palletsprojects.com
Source: https://files.pythonhosted.org/packages/source/W/Werkzeug/Werkzeug-%{version}.tar.gz
# PATCH-FIX-UPSTREAM moved_root.patch bsc#[0-9]+ mcepl@suse.com
# this patch makes things totally awesome
Patch1: moved_root.patch
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module setuptools_scm}
BuildRequires: %{python_module setuptools}
%if %{with test}
BuildRequires: %{python_module Werkzeug}
BuildRequires: %{python_module cryptography}
BuildRequires: %{python_module ephemeral-port-reserve}
BuildRequires: %{python_module hypothesis}
BuildRequires: %{python_module markupsafe}
BuildRequires: %{python_module pytest >= 6.2.4}
BuildRequires: %{python_module pytest-timeout}
BuildRequires: %{python_module pytest-xprocess}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module sortedcontainers}
%endif
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Recommends: python-termcolor
Recommends: python-watchdog
Obsoletes: python-Werkzeug-doc < %{version}
Provides: python-Werkzeug-doc = %{version}
BuildArch: noarch
%if 0%{?suse_version} < 1500
BuildRequires: python
%endif
%python_subpackages
%description
Werkzeug started as simple collection of various utilities for WSGI
applications and has become one of the most advanced WSGI utility
modules. It includes a powerful debugger, full featured request and
response objects, HTTP utilities to handle entity tags, cache control
headers, HTTP dates, cookie handling, file uploads, a powerful URL
routing system and a bunch of community contributed addon modules.
Werkzeug is unicode aware and doesn't enforce a specific template
engine, database adapter or anything else. It doesn't even enforce
a specific way of handling requests and leaves all that up to the
developer. It's most useful for end user applications which should work
on as many server environments as possible (such as blogs, wikis,
bulletin boards, etc.).
%prep
%autosetup -p1 -n Werkzeug-%{version}
sed -i "1d" examples/manage-{i18nurls,simplewiki,shorty,couchy,cupoftee,webpylike,plnt,coolmagic}.py # Fix non-executable scripts
%build
%python_build
%install
%if ! %{with test}
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%check
%if %{with test}
export LANG=en_US.UTF-8
export PYTHONDONTWRITEBYTECODE=1
# workaround pytest 6.2 (like https://github.com/pallets/werkzeug/commit/16718f461d016b88b6457d3ef63816b7df1f0d1f, but shorter)
%pytest -k 'not (dev_server or test_reloader_sys_path or test_chunked_encoding or test_basic or test_server or test_ssl or test_http_proxy or test_500_error or test_untrusted_host or test_double_slash_path or test_wrong_protocol or test_content_type_and_length or test_multiple_headers_concatenated or test_multiline_header_folding or test_exclude_patterns)'
%endif
%if ! %{with test}
%files %{python_files}
%license LICENSE.rst
%doc CHANGES.rst README.rst
%{python_sitelib}/werkzeug
%{python_sitelib}/Werkzeug-%{version}-py*.egg-info
%endif
%changelog