From 60463dc6a046582b99d53163d0940e6ee3f0e160c44bf3db38a71a0fbe45c9bd Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Tue, 3 Sep 2024 12:37:53 +0000 Subject: [PATCH 1/2] - updaze to 1.9.7: * Removed support :rfc:3986#section-3.2.3 port normalization when the scheme is not one of http, https, wss, or ws * Joining URLs with empty segments has been changed to match :rfc:3986 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-yarl?expand=0&rev=66 --- .gitattributes | 23 +++ .gitignore | 1 + python-yarl.changes | 367 ++++++++++++++++++++++++++++++++++++++++++++ python-yarl.spec | 69 +++++++++ reproducible.patch | 22 +++ yarl-1.9.4.tar.gz | 3 + yarl-1.9.7.tar.gz | 3 + 7 files changed, 488 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 python-yarl.changes create mode 100644 python-yarl.spec create mode 100644 reproducible.patch create mode 100644 yarl-1.9.4.tar.gz create mode 100644 yarl-1.9.7.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/python-yarl.changes b/python-yarl.changes new file mode 100644 index 0000000..bd3d94f --- /dev/null +++ b/python-yarl.changes @@ -0,0 +1,367 @@ +------------------------------------------------------------------- +Tue Sep 3 06:46:22 UTC 2024 - Adrian Schröter + +- updaze to 1.9.7: + * Removed support :rfc:3986#section-3.2.3 port normalization + when the scheme is not one of http, https, wss, or ws + * Joining URLs with empty segments has been changed + to match :rfc:3986 + +------------------------------------------------------------------- +Tue Mar 12 10:35:11 UTC 2024 - Bernhard Wiedemann + +- restore correct reproducible.patch + +------------------------------------------------------------------- +Tue Jan 16 22:10:35 UTC 2024 - Dirk Müller + +- restore reproducible.patch to not add a random tmp path + (boo#1062303) + +------------------------------------------------------------------- +Sun Jan 14 15:08:48 UTC 2024 - Dirk Müller + +- update to 1.9.4: + * Started raising :py:exc:`TypeError` when a string value is + passed into :py:meth:`~yarl.URL.build` as the port argument + -- by :user:`commonism`. Previously the empty string as port + would create malformed URLs when rendered as string + representations. + * Started raising :py:exc:`TypeError` when a string value is + passed into :py:meth:`~yarl.URL.build` as the port argument + * Previously the empty string as port would create malformed + URLs when rendered as string representations. (:issue:`883`) + * The leading -- has been dropped from the PEP 517 in-tree + build backend config setting names. --pure-python is now just + pure-python -- by :user:`webknjaz`. The usage now looks as + follows: $ python -m build \ --config-setting=pure- + python=true \ --config-setting=with-cython-tracing=true + (:issue:`963`) + * The leading -- has been dropped from the PEP 517 in-tree + build backend config setting names. --pure-python is now just + pure-python -- by :user:`webknjaz`. + * It is now possible to request line tracing in Cython builds + using the with-cython-tracing PEP 517 config setting -- + :user:`webknjaz`. This can be used in CI and development + environment to measure coverage on Cython modules, but is not + normally useful to the end-users or downstream packagers. + Here's a usage example: $ python -Im pip install . --config- + settings=with-cython-tracing=true For editable installs, + this setting is on by default. Otherwise, it's off unless + requested explicitly. (:issue:`962`) +- drop reproducible.patch (upstream) + +------------------------------------------------------------------- +Tue Dec 12 03:44:58 UTC 2023 - Bernhard Wiedemann + +- Add reproducible.patch to not add a random tmp path + into the package (boo#1062303) + +------------------------------------------------------------------- +Mon Nov 27 20:14:14 UTC 2023 - Dirk Müller + +- update to 1.9.3: + * Stopped dropping trailing slashes in + :py:meth:`~yarl.URL.joinpath` + * Started accepting string subclasses in ``__truediv__()`` + operations (``URL / segment``) + * Fixed the human representation of URLs with square brackets + in usernames and passwords + * Updated type hints to include ``URL.missing_port()``, + ``URL.__bytes__()`` and the ``encoding`` argument to + :py:meth:`~yarl.URL.joinpath` + * Integrated Cython 3 to enable building *yarl* under Python + 3.12 + * Declared modern ``setuptools.build_meta`` as the :pep:`517` + build backend in :file:`pyproject.toml` explicitly + * Converted most of the packaging setup into a declarative + :file:`setup.cfg` + * Declared Python 3.12 supported officially in the distribution + package metadata + * A regression test for no-host URLs was added per :issue:`821` + * and :rfc:`3986` + * MyST is now integrated in Sphinx +- drop 882-sq_bracket_in_URL_netloc.patch (upstream) + +------------------------------------------------------------------- +Tue Jul 4 21:47:32 UTC 2023 - Matej Cepl + +- Add 882-sq_bracket_in_URL_netloc.patch fixing handling of + square bracket handling in URL netloc (gh#aio-libs/yarl#876). + +------------------------------------------------------------------- +Wed Apr 26 07:02:00 UTC 2023 - Daniel Garcia + +- Update to version 1.9.2 + Fix regression with truediv and absolute URLs with empty paths + causing the raw path to lack the leading /. ((#854)_) + +------------------------------------------------------------------- +Mon Apr 24 09:13:21 UTC 2023 - Adrian Schröter + +- update to version 1.9.1 + * Marked tests that fail on older Python patch releases + (< 3.7.10, < 3.8.8 and < 3.9.2) as expected to fail due to missing + a security fix for CVE-2021-23336. ((#850)_) +- Delete support-python-311.patch, not needed anymore + +------------------------------------------------------------------- +Fri Apr 21 12:39:08 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:46:02 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Thu Mar 2 10:41:59 UTC 2023 - Matej Cepl + +- Refreshed support-python-311.patch: with fix + of CVE-2023-24329 (bsc#1208471), the test + test_url_parsing.TestScheme.test_not_a_scheme2 fails on all + openSUSE/SLE Python interpreters. + +------------------------------------------------------------------- +Mon Jan 9 04:17:48 UTC 2023 - Steve Kowalik + +- Add patch support-python-311.patch: + * Skip a test under Python 3.11. + +------------------------------------------------------------------- +Wed Dec 7 22:47:59 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 1.8.2 + * This is the first release that started shipping wheels for Python 3.11. + +------------------------------------------------------------------- +Thu Aug 18 21:19:19 UTC 2022 - Ben Greiner + +- Update to 1.8.1 + * Added URL.raw_suffix, URL.suffix, URL.raw_suffixes, + URL.suffixes, URL.with_suffix. (#613) + * Dropped Python 3.6 support. (#672) +- Drop tests_overcome_bpo42967.patch + +------------------------------------------------------------------- +Tue Dec 7 15:57:39 UTC 2021 - pgajdos@suse.com + +- version update to 1.7.2 + - Changed call in ``with_port()`` to stop reencoding parts of the URL + that were already encoded. (`#623 `_) + - Add `__bytes__()` magic method so that `bytes(url)` will work and use optimal + ASCII encoding. (`#582 `_) + - Started shipping platform-specific arm64 wheels for Apple Silicon. + (`#622 `_) + - Started shipping platform-specific wheels with the ``musl`` tag targeting typical + Alpine Linux runtimes. (`#622 `_) + - Added support for Python 3.10. (`#622 `_) +- do not require pytest-runner for build, it is not needed + +------------------------------------------------------------------- +Sat Mar 20 19:40:32 UTC 2021 - Ben Greiner + +- Unset -Werror=return-type for python39 +- Only install typing_extensions for Python < 3.8 + +------------------------------------------------------------------- +Tue Feb 23 17:02:42 UTC 2021 - Matej Cepl + +- Add tests_overcome_bpo42967.patch to over effects of bpo#42967, + which forbade mixing amps and semicolons in query strings as + separators. + +------------------------------------------------------------------- +Sat Dec 19 10:06:48 UTC 2020 - Dirk Müller + +- update to 1.6.3: + - No longer loose characters when decoding incorrect percent-sequences (like + ``%e2%82%f8``). All non-decodable percent-sequences are now preserved. + - Provide generated ``.c`` files in TarBall distribution. + - ``human_repr()`` now always produces valid representation equivalent to the + original URL (if the original URL is valid). + - Fixed requoting a single percent followed by a percent-encoded character + in the Cython implementation. + - Fix ValueError when decoding ``%`` which is not followed by two hexadecimal + digits. + - Fix decoding ``%`` followed by a space and hexadecimal digit. + - Fix annotation of ``with_query()``/``update_query()`` methods for + ``key=[val1, val2]`` case. + +------------------------------------------------------------------- +Mon Sep 28 12:05:26 UTC 2020 - Dirk Mueller + +- update to 1.6.0: + - Allow for int and float subclasses in query, while still denying bool. + `#492 `_ + - Do not requote arguments in ``URL.build()``, ``with_xxx()`` and in ``/`` operator. + `#502 `_ + - Keep IPv6 brackets in ``origin()``. + `#504 `_ + +------------------------------------------------------------------- +Tue Jul 28 21:28:25 UTC 2020 - Benjamin Greiner + +- remove c source file from package (rpmlint error) +- needs typing-extensions + +------------------------------------------------------------------- +Tue Jul 28 19:15:09 UTC 2020 - Ondřej Súkup + +- update to 1.5.0 +- fix tests + * Convert host to lowercase on URL building. #386 + * Allow using mod operator (%) for updating query string (an alias for update_query() method) + * Allow use of sequences such as list and tuple in the values of a mapping + such as dict to represent that a key has many values: + url = URL("http://example.com") + assert url.with_query({"a": [1, 2]}) == URL("http://example.com/?a=1&a=2") + * Support URL.build() with scheme and path (creates a relative URL) + * Cache slow IDNA encode/decode calls + * Add @final / Final type hints + * Support URL authority/raw_authority properties and authority argument + of URL.build() method + * Hide the library implementation details, make the exposed public list very clean + * Fix tests with newer Python (3.7.6, 3.8.1 and 3.9.0+) + * Fix a bug where query component, passed in a form of mapping or sequence, + is unquoted in unexpected way + * Hide Query and QueryVariable type aliases in __init__.pyi, now they + are prefixed with underscore. + * Keep ipv6 brackets after updating port/user/password. + +------------------------------------------------------------------- +Mon Feb 3 14:38:51 UTC 2020 - Marketa Calabkova + +- update to 1.4.2 + * Workaround for missing str.isascii() in Python 3.6 + * Distinguish an empty password in URL from a password not provided at all + * Fixed annotations for optional parameters of URL.build + * Use None as default value of user parameter of URL.build + * Enforce building C Accelerated modules when installing from source tarball, + use YARL_NO_EXTENSIONS environment variable for falling back to (slower) + Pure Python implementation + * Fix quoting of plus in path by pure python version + * Don't create a new URL if fragment is unchanged + * Included in error msg the path that produces starting slash forbidden error + * Skip slow IDNA encoding for ASCII-only strings + +------------------------------------------------------------------- +Sun Mar 3 13:52:01 UTC 2019 - Ondřej Súkup + +- update to 1.3.0 + * Fix annotations for query parameter + * An incoming query sequence can have int variables + * Add URL.explicit_port property + * Give a friendlier error when port cant be converted to int + * bool(URL()) now returns False + * Fix annotations for build + * Fix annotations for cached_property + * Accept str subclasses in URL constructor + * Forbid inheritance, replace __init__ with __new__ + * Support PEP-561 (provide type hinting marker) + +------------------------------------------------------------------- +Wed Aug 29 09:17:59 UTC 2018 - tchvatal@suse.com + +- Raise multidict requirement to match up setup.py + +------------------------------------------------------------------- +Sat Feb 24 18:28:57 UTC 2018 - arun@gmx.de + +- update to version 1.1.1: + * Fix performance regression: don’t encode enmpty netloc (#170) + +------------------------------------------------------------------- +Sat Feb 10 18:01:42 UTC 2018 - arun@gmx.de + +- update to version 1.1.0: + * Make pure Python quoter consistent with Cython version (#162) + +- changes from version 1.0.0: + * Use fast path if quoted string does not need requoting (#154) + * Speed up quoting/unquoting by _Quoter and _Unquoter classes (#155) + * Drop yarl.quote and yarl.unquote public functions (#155) + * Add custom string writer, reuse static buffer if available (#157) + Code is 50-80 times faster than Pure Python version (was 4-5 times + faster) + * Don’t recode IP zone (#144) + * Support encoded=True in yarl.URL.build() (#158) + * Fix updating query with multiple keys (#160) + +------------------------------------------------------------------- +Thu Jan 11 23:59:33 UTC 2018 - arun@gmx.de + +- update to version 0.18.0: + * Fallback to IDNA 2003 if domain name is not IDNA 2008 compatible + (#152) + +------------------------------------------------------------------- +Thu Jan 4 17:17:54 UTC 2018 - arun@gmx.de + +- specfile: + * update copyright year + * require python-idna + +- update to version 0.17.0: + * Add idna requirement + * update to idna 2008 and test + * Update mypy from 0.550 to 0.560 + * Better fix for #141 + +------------------------------------------------------------------- +Sat Dec 9 17:54:08 UTC 2017 - arun@gmx.de + +- removed test conditional as requested in SR 555310 +- enabled tests +- require pytest-runner + +------------------------------------------------------------------- +Fri Dec 8 18:05:15 UTC 2017 - arun@gmx.de + +- update to version 0.16.0: + * Fix raising TypeError by url.query_string() after + url.with_query({}) (empty mapping) #141 + +------------------------------------------------------------------- +Sun Nov 26 21:20:07 UTC 2017 - arun@gmx.de + +- update to version 0.15.0: + * Add raw_path_qs attribute (#137) + +------------------------------------------------------------------- +Wed Nov 15 00:33:36 UTC 2017 - arun@gmx.de + +- update to version 0.14.2: + * Restore strict parameter as no-op in quote/unquote + +- changes from version 0.14.1: + * Restore strict parameter as no-op for sake of compatibility with + aiohttp 2.2 + +------------------------------------------------------------------- +Sun Nov 12 16:59:38 UTC 2017 - arun@gmx.de + +- update to version 0.14.0: + * Drop strict mode (#123) + * Fix “ValueError: Unallowed PCT %” when there’s a “%” in the url + (#124) + +------------------------------------------------------------------- +Tue Oct 31 02:41:59 UTC 2017 - arun@gmx.de + +- update to version 0.13.0: + * Document encoded parameter (#102) + * Support relative urls like ‘?key=value’ (#100) + * Unsafe encoding for QS fixed. Encode ; char in value param (#104) + * Process passwords without user names (#95) + +- changes from version 0.12.0: + * Properly support paths without leading slash in URL.with_path() + (#90) + * Enable type annotation checks + +------------------------------------------------------------------- +Thu Jul 13 19:22:44 UTC 2017 - sean.marlow@suse.com + +- Initial release v0.11.0. diff --git a/python-yarl.spec b/python-yarl.spec new file mode 100644 index 0000000..83b9eee --- /dev/null +++ b/python-yarl.spec @@ -0,0 +1,69 @@ +# +# spec file for package python-yarl +# +# Copyright (c) 2024 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/ +# + + +%{?sle15_python_module_pythons} +Name: python-yarl +Version: 1.9.7 +Release: 0 +Summary: Yet another URL library +License: Apache-2.0 +URL: https://github.com/aio-libs/yarl/ +Source: https://files.pythonhosted.org/packages/source/y/yarl/yarl-%{version}.tar.gz +Patch1: reproducible.patch +BuildRequires: %{python_module Cython} +BuildRequires: %{python_module devel >= 3.7} +BuildRequires: %{python_module expandvars} +BuildRequires: %{python_module idna >= 2.0} +# test requirements +BuildRequires: %{python_module multidict >= 4.0} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest-cov} +BuildRequires: %{python_module pytest-xdist} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-idna >= 2.0 +Requires: python-multidict >= 4.0 +%python_subpackages + +%description +The module provides a URL class for url parsing and changing. + +%prep +%autosetup -p1 -n yarl-%{version} +sed -i '/addopts/d' setup.cfg + +%build +export CFLAGS="%{optflags} -Wno-return-type" +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitearch} + +%check +%pytest_arch + +%files %{python_files} +%license LICENSE +%doc CHANGES.rst README.rst +%{python_sitearch}/yarl +%{python_sitearch}/yarl-%{version}.dist-info + +%changelog diff --git a/reproducible.patch b/reproducible.patch new file mode 100644 index 0000000..585b487 --- /dev/null +++ b/reproducible.patch @@ -0,0 +1,22 @@ +Date: 2023-12-12 +Author: Bernhard M. Wiedemann + +Make package build reproducible + +For this we avoid the use of a random tmp path +that gets embedded into +/usr/lib64/python3.10/site-packages/yarl/_quoting_c.cpython-310-x86_64-linux-gnu.so + +diff --git a/packaging/pep517_backend/_backend.py b/packaging/pep517_backend/_backend.py +index 9a28ace..3e7db07 100644 +--- a/packaging/pep517_backend/_backend.py ++++ b/packaging/pep517_backend/_backend.py +@@ -286,7 +286,7 @@ def build_wheel( + """ + with maybe_prebuild_c_extensions( + line_trace_cython_when_unset=False, +- build_inplace=False, ++ build_inplace=True, + config_settings=config_settings, + ): + return _setuptools_build_wheel( diff --git a/yarl-1.9.4.tar.gz b/yarl-1.9.4.tar.gz new file mode 100644 index 0000000..6262046 --- /dev/null +++ b/yarl-1.9.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf +size 141869 diff --git a/yarl-1.9.7.tar.gz b/yarl-1.9.7.tar.gz new file mode 100644 index 0000000..a7bbe7d --- /dev/null +++ b/yarl-1.9.7.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f28e602edeeec01fc96daf7728e8052bc2e12a672e2a138561a1ebaf30fd9df7 +size 153261 From 997df0818a910af15c3b034336421b5cb97eefbc9862d6e6a3f0b6ace7575836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Wed, 25 Sep 2024 12:26:12 +0000 Subject: [PATCH 2/2] - update to 1.12.1 - update to 1.12.0 * Added attr `~yarl.URL.path_safe` to be able to fetch the path without %2F and %25 decoded * Restore decoding %2F (/) in URL.path * Improved performance of processing paths OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-yarl?expand=0&rev=67 --- python-yarl.changes | 10 ++++++++++ python-yarl.spec | 3 ++- yarl-1.12.1.tar.gz | 3 +++ yarl-1.9.7.tar.gz | 3 --- 4 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 yarl-1.12.1.tar.gz delete mode 100644 yarl-1.9.7.tar.gz diff --git a/python-yarl.changes b/python-yarl.changes index bd3d94f..4f0eb58 100644 --- a/python-yarl.changes +++ b/python-yarl.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Sep 25 11:36:24 UTC 2024 - Nico Krapp + +- update to 1.12.1 +- update to 1.12.0 + * Added attr `~yarl.URL.path_safe` to be able to fetch the + path without %2F and %25 decoded + * Restore decoding %2F (/) in URL.path + * Improved performance of processing paths + ------------------------------------------------------------------- Tue Sep 3 06:46:22 UTC 2024 - Adrian Schröter diff --git a/python-yarl.spec b/python-yarl.spec index 83b9eee..b541974 100644 --- a/python-yarl.spec +++ b/python-yarl.spec @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-yarl -Version: 1.9.7 +Version: 1.12.1 Release: 0 Summary: Yet another URL library License: Apache-2.0 @@ -31,6 +31,7 @@ BuildRequires: %{python_module expandvars} BuildRequires: %{python_module idna >= 2.0} # test requirements BuildRequires: %{python_module multidict >= 4.0} +BuildRequires: %{python_module covdefaults} BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest-cov} BuildRequires: %{python_module pytest-xdist} diff --git a/yarl-1.12.1.tar.gz b/yarl-1.12.1.tar.gz new file mode 100644 index 0000000..cf12922 --- /dev/null +++ b/yarl-1.12.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b860055199aec8d6fe4dcee3c5196ce506ca198a50aab0059ffd26e8e815828 +size 163223 diff --git a/yarl-1.9.7.tar.gz b/yarl-1.9.7.tar.gz deleted file mode 100644 index a7bbe7d..0000000 --- a/yarl-1.9.7.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f28e602edeeec01fc96daf7728e8052bc2e12a672e2a138561a1ebaf30fd9df7 -size 153261