diff --git a/.gitignore b/.gitignore index de61154e3e..ad9f5248a6 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ t2.py dist /.mypy_cache/ +.pybuild/ diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 0000000000..14f5bd782f --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,6 @@ +*.substvars +*debhelper* +.debhelper +files +python3-requests +tmp diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000000..29a00edd52 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +python-requests (100:2.28.1-1) UNRELEASED; urgency=medium + + * https://github.com/psf/requests/releases/tag/v2.28.1 + + -- Wong Hoi Sing Edison Wed, 29 Jun 2022 23:44:27 +0800 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000000..38f9897d62 --- /dev/null +++ b/debian/control @@ -0,0 +1,33 @@ +Source: python-requests +Section: python +Priority: optional +Standards-Version: 4.5.0 +Maintainer: Wong Hoi Sing Edison +Homepage: https://github.com/psf/requests/tags +Vcs-Browser: https://github.com/alvistack/psf-requests +Vcs-Git: https://github.com/alvistack/psf-requests.git +Build-Depends: + debhelper, + debhelper-compat (= 10), + dh-python, + ca-certificates, + fdupes, + python3-charset-normalizer (>= 2.0.0), + python3-dev, + python3-setuptools, + +Package: python3-requests +Architecture: all +Description: Python HTTP library with thread-safe connection pooling and file post + Python3 HTTP module with connection pooling and file POST abilities. +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + ${python3:Depends}, + ca-certificates, + python3, + python3-certifi (>= 2017.4.17), + python3-chardet (>= 3.0.2), + python3-charset-normalizer (>= 2.0.0), + python3-idna (>= 2.5), + python3-urllib3 (>= 1.21.1), diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000000..8bfbaa6bf5 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,21 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Files: debian/* +Copyright: 2022 Wong Hoi Sing Edison +License: Apache-2.0 + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + The complete text of the Apache version 2.0 license + can be found in "/usr/share/common-licenses/Apache-2.0". diff --git a/debian/python3-requests.install b/debian/python3-requests.install new file mode 100644 index 0000000000..e3da3e7553 --- /dev/null +++ b/debian/python3-requests.install @@ -0,0 +1 @@ +usr/lib/python*/*-packages/* diff --git a/debian/python3-requests.lintian-overrides b/debian/python3-requests.lintian-overrides new file mode 100644 index 0000000000..219b3c33e4 --- /dev/null +++ b/debian/python3-requests.lintian-overrides @@ -0,0 +1,4 @@ +python3-requests: copyright-without-copyright-notice +python3-requests: initial-upload-closes-no-bugs +python3-requests: no-manual-page +python3-requests: zero-byte-file-in-doc-directory diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000000..fcaa45efe1 --- /dev/null +++ b/debian/rules @@ -0,0 +1,15 @@ +#!/usr/bin/make -f + +SHELL := /bin/bash + +override_dh_auto_install: + dh_auto_install --destdir=debian/tmp + find debian/tmp/usr/lib/python*/*-packages -type f -name '*.pyc' -exec rm -rf {} \; + fdupes -qnrps debian/tmp/usr/lib/python*/*-packages + +override_dh_auto_test: + +override_dh_auto_clean: + +%: + dh $@ --buildsystem=pybuild --with python3 diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000000..163aaf8d82 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides new file mode 100644 index 0000000000..198f720f1a --- /dev/null +++ b/debian/source/lintian-overrides @@ -0,0 +1,4 @@ +python-requests source: file-without-copyright-information +python-requests source: no-debian-changes +python-requests source: source-contains-prebuilt-windows-binary +python-requests source: source-package-encodes-python-version diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index 996bf14c83..0000000000 --- a/pyproject.toml +++ /dev/null @@ -1,13 +0,0 @@ -[tool.isort] -profile = "black" -src_paths = ["requests", "test"] -honor_noqa = true - -[tool.pytest.ini_options] -addopts = "-p no:warnings --doctest-modules" -doctest_optionflags = "NORMALIZE_WHITESPACE ELLIPSIS" -minversion = "6.2" -testpaths = [ - "requests", - "tests", -] diff --git a/python-requests.spec b/python-requests.spec new file mode 100644 index 0000000000..5f00a86fd7 --- /dev/null +++ b/python-requests.spec @@ -0,0 +1,112 @@ +# Copyright 2022 Wong Hoi Sing Edison +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +%global debug_package %{nil} + +Name: python-requests +Epoch: 100 +Version: 2.28.1 +Release: 1%{?dist} +BuildArch: noarch +Summary: HTTP library, written in Python, for human beings +License: Apache-2.0 +URL: https://github.com/psf/requests/tags +Source0: %{name}_%{version}.orig.tar.gz +BuildRequires: ca-certificates +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildRequires: python3-charset-normalizer >= 2.0.0 +BuildRequires: python3-devel +BuildRequires: python3-setuptools + +%description +Most existing Python modules for sending HTTP requests are extremely +verbose and cumbersome. Python’s built-in urllib2 module provides most +of the HTTP capabilities you should need, but the API is thoroughly +broken. This library is designed to make HTTP requests easy for +developers. + +%prep +%autosetup -T -c -n %{name}_%{version}-%{release} +tar -zx -f %{S:0} --strip-components=1 -C . + +%build +%py3_build + +%install +%py3_install +find %{buildroot}%{python3_sitelib} -type f -name '*.pyc' -exec rm -rf {} \; +fdupes -qnrps %{buildroot}%{python3_sitelib} + +%check + +%if 0%{?suse_version} > 1500 +%package -n python%{python_version_nodots}-requests +Summary: HTTP library, written in Python, for human beings +Requires: ca-certificates +Requires: python3 +Requires: python3-certifi >= 2017.4.17 +Requires: python3-chardet >= 3.0.2 +Requires: python3-charset-normalizer >= 2.0.0 +Requires: python3-idna >= 2.5 +Requires: python3-urllib3 >= 1.21.1 +Provides: python3-requests = %{epoch}:%{version}-%{release} +Provides: python3dist(requests) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}-requests = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}dist(requests) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}-requests = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}dist(requests) = %{epoch}:%{version}-%{release} + +%description -n python%{python_version_nodots}-requests +Most existing Python modules for sending HTTP requests are extremely +verbose and cumbersome. Python’s built-in urllib2 module provides most +of the HTTP capabilities you should need, but the API is thoroughly +broken. This library is designed to make HTTP requests easy for +developers. + +%files -n python%{python_version_nodots}-requests +%license LICENSE +%{python3_sitelib}/* +%endif + +%if !(0%{?suse_version} > 1500) +%package -n python3-requests +Summary: HTTP library, written in Python, for human beings +Requires: ca-certificates +Requires: python3 +Requires: python3-certifi >= 2017.4.17 +Requires: python3-chardet >= 3.0.2 +Requires: python3-charset-normalizer >= 2.0.0 +Requires: python3-idna >= 2.5 +Requires: python3-urllib3 >= 1.21.1 +Provides: python3-requests = %{epoch}:%{version}-%{release} +Provides: python3dist(requests) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}-requests = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}dist(requests) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}-requests = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}dist(requests) = %{epoch}:%{version}-%{release} + +%description -n python3-requests +Most existing Python modules for sending HTTP requests are extremely +verbose and cumbersome. Python’s built-in urllib2 module provides most +of the HTTP capabilities you should need, but the API is thoroughly +broken. This library is designed to make HTTP requests easy for +developers. + +%files -n python3-requests +%license LICENSE +%{python3_sitelib}/* +%endif + +%changelog diff --git a/requests/__init__.py b/requests/__init__.py index 7ac8e297b8..22db3c1d7c 100644 --- a/requests/__init__.py +++ b/requests/__init__.py @@ -80,8 +80,8 @@ def check_compatibility(urllib3_version, chardet_version, charset_normalizer_ver elif charset_normalizer_version: major, minor, patch = charset_normalizer_version.split(".")[:3] major, minor, patch = int(major), int(minor), int(patch) - # charset_normalizer >= 2.0.0 < 3.0.0 - assert (2, 0, 0) <= (major, minor, patch) < (3, 0, 0) + # charset_normalizer >= 2.0.0 < 4.0.0 + assert (2, 0, 0) <= (major, minor, patch) < (4, 0, 0) else: raise Exception("You need either charset_normalizer or chardet installed") diff --git a/setup.cfg b/setup.cfg index 33af66eb15..bf21c81cc0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,7 +5,7 @@ provides-extra = use_chardet_on_py3 requires-dist = certifi>=2017.4.17 - charset_normalizer>=2,<3 + charset_normalizer>=2,<4 idna>=2.5,<4 urllib3>=1.21.1,<1.27 diff --git a/setup.py b/setup.py index 23977ed77a..092b40d011 100755 --- a/setup.py +++ b/setup.py @@ -59,7 +59,7 @@ def run_tests(self): sys.exit() requires = [ - "charset_normalizer>=2,<3", + "charset_normalizer>=2,<4", "idna>=2.5,<4", "urllib3>=1.21.1,<1.27", "certifi>=2017.4.17",