Blob Blame History Raw
%bcond_without tests
%bcond_without python3

Name:           python-requests
Version:        2.20.0
Release:        3%{?dist}
Summary:        HTTP library, written in Python, for human beings

License:        ASL 2.0
URL:            https://pypi.io/project/requests
Source0:        https://github.com/requests/requests/archive/v%{version}/requests-v%{version}.tar.gz
# Explicitly use the system certificates in ca-certificates.
# https://bugzilla.redhat.com/show_bug.cgi?id=904614
Patch0:         patch-requests-certs.py-to-use-the-system-CA-bundle.patch

# https://bugzilla.redhat.com/show_bug.cgi?id=1450608
Patch2:         Remove-tests-that-use-the-tarpit.patch

# Use 127.0.0.1 not localhost for socket.bind() in the Server test
# class, to fix tests in Koji's no-network environment
# This probably isn't really upstreamable, because I guess localhost
# could technically be IPv6 or something, and our no-network env is
# a pretty odd one so this is a niche requirement.
Patch3:         requests-2.12.4-tests_nonet.patch

# https://bugzilla.redhat.com/show_bug.cgi?id=1567862
Patch4:         Don-t-inject-pyopenssl-into-urllib3.patch

# Skip all tests needing httpbin
#   httpbin has too many dependencies to be shipped in RHEL just for
#   build-time package tests
Patch5:         Skip-all-tests-needing-httpbin.patch

# Properly handle default ports when stripping the authorization header.
# This fixes a regression introduced with fixing CVE-2018-18074.
# Fixed upstream: https://github.com/psf/requests/pull/4851
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1762422
Patch6:         properly-handle-default-ports-in-auth-stripping.patch

BuildArch:      noarch

%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.

%package -n python2-requests
Summary: HTTP library, written in Python, for human beings
%{?python_provide:%python_provide python2-requests}

BuildRequires:  python2-devel
BuildRequires:  python2-chardet
BuildRequires:  python2-urllib3
BuildRequires:  python2-idna
%if %{with tests}
BuildRequires:  python2-pytest
BuildRequires:  python2-pytest-mock
%endif


Requires:       ca-certificates
Requires:       python2-chardet
Requires:       python2-urllib3
Requires:       python2-idna

%if 0%{?rhel} && 0%{?rhel} <= 6
BuildRequires:  python-ordereddict
Requires:       python-ordereddict
%endif

%description -n python2-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.

%if %{with python3}
%package -n python%{python3_pkgversion}-requests
Summary: HTTP library, written in Python, for human beings

%{?python_provide:%python_provide python%{python3_pkgversion}-requests}

BuildRequires:  python%{python3_pkgversion}-devel
BuildRequires:  python%{python3_pkgversion}-chardet
BuildRequires:  python%{python3_pkgversion}-urllib3
BuildRequires:  python%{python3_pkgversion}-idna
%if %{with tests}
BuildRequires:  python%{python3_pkgversion}-pytest
BuildRequires:  python%{python3_pkgversion}-pytest-mock
%endif

Requires:       python%{python3_pkgversion}-chardet
Requires:       python%{python3_pkgversion}-urllib3
Requires:       python%{python3_pkgversion}-idna

%description -n python%{python3_pkgversion}-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.

%endif

%prep
%autosetup -p1 -n requests-%{version}

# Unbundle the certificate bundle from mozilla.
rm -rf requests/cacert.pem

# env shebang in nonexecutable file
sed -i '/#!\/usr\/.*python/d' requests/certs.py

%build
%py2_build
%if %{with python3}
%py3_build
%endif

%install
%py2_install
%if %{with python3}
%py3_install
%endif

%if %{with tests}
%check
PYTHONPATH=%{buildroot}%{python2_sitelib} %{__python2} -m pytest -v
%if %{with python3}
PYTHONPATH=%{buildroot}%{python3_sitelib} %{__python3} -m pytest -v
%endif
%endif # tests


%files -n python2-requests
%license LICENSE
%doc README.md HISTORY.md
%{python2_sitelib}/*.egg-info
%{python2_sitelib}/requests/

%if %{with python3}
%files -n python%{python3_pkgversion}-requests
%license LICENSE
%doc README.md HISTORY.md
%{python3_sitelib}/*.egg-info
%{python3_sitelib}/requests/
%endif


%changelog
* Fri Nov 1 2019 Charalampos Stratakis <cstratak@redhat.com> - 2.20.0-3
- Properly handle default ports when stripping the authorization header
Resolves: rhbz#1762422

* Thu Apr 25 2019 Tomas Orsava <torsava@redhat.com> - 2.20.0-2
- Bumping due to problems with modular RPM upgrade path
- Resolves: rhbz#1695587

* Mon Oct 29 2018 Jeremy Cline <jeremy@jcline.org> - 2.20.0-1
- Update to v2.20.0 for CVE-2018-18074.

* Tue Jul 31 2018 Lumír Balhar <lbalhar@redhat.com> - 2.19.1-5
- Make possible to disable python3 subpackage

* Mon Jul 16 2018 Lumír Balhar <lbalhar@redhat.com> - 2.19.1-4
- First version for python27 module

* Thu Jun 21 2018 Lumír Balhar <lbalhar@redhat.com> - 2.19.1-3
- Allow build with Python 2

* Tue Jun 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 2.19.1-2
- Remove the python-pytest-cov dependency

* Tue Jun 19 2018 Jeremy Cline <jeremy@jcline.org> - 2.19.1-1
- Update to v2.19.1 (rhbz 1591531)

* Tue Jun 19 2018 Jeremy Cline <jeremy@jcline.org> - 2.19.0-1
- Update to v2.19.0 (rhbz 1590508)

* Wed Jun 13 2018 Tomas Orsava <torsava@redhat.com> - 2.18.4-6
- Skip all tests needing httpbin: httpbin has too many dependencies to be
  shipped in RHEL just for build-time package tests

* Tue Jun 12 2018 Tomas Orsava <torsava@redhat.com> - 2.18.4-5
- BR idna, or the tests fail to start

* Mon Apr 16 2018 Jeremy Cline <jeremy@jcline.org> - 2.18.4-4
- Stop injecting PyOpenSSL (rhbz 1567862)

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Mon Dec 11 2017 Iryna Shcherbina <ishcherb@redhat.com> - 2.18.4-2
- Fix ambiguous Python 2 dependency declarations
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

* Fri Aug 18 2017 Jeremy Cline <jeremy@jcline.org> - 2.18.4-1
- Update to 2.18.4

* Wed Jul 26 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.18.2-1
- Update to 2.18.2

* Tue Jun 20 2017 Jeremy Cline <jeremy@jcline.org> - 2.18.1-2
- Drop the dependency on certifi in setup.py

* Mon Jun 19 2017 Jeremy Cline <jeremy@jcline.org> - 2.18.1-1
- Update to 2.18.1 (#1449432)
- Remove tests that require non-local network (#1450608)

* Wed May 17 2017 Jeremy Cline <jeremy@jcline.org> - 2.14.2-1
- Update to 2.14.2 (#1449432)
- Switch to autosetup to apply patches

* Sun May 14 2017 Stephen Gallagher <sgallagh@redhat.com> - 2.13.0-2
- Don't run tests when building as a module

* Thu Feb 09 2017 Jeremy Cline <jeremy@jcline.org> - 2.13.0-1
- Update to 2.13.0 (#1418138)

* Fri Dec 30 2016 Adam Williamson <awilliam@redhat.com> - 2.12.4-3
- Include and enable tests (now python-pytest-httpbin is packaged)

* Wed Dec 21 2016 Kevin Fenzi <kevin@scrye.com> - 2.12.4-2
- Rebuild for Python 3.6 again.

* Tue Dec 20 2016 Jeremy Cline <jeremy@jcline.org> - 2.12.4-1
- Update to 2.12.4. Fixes #1404680

* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 2.12.3-2
- Rebuild for Python 3.6

* Thu Dec 01 2016 Jeremy Cline <jeremy@jcline.org> - 2.12.3-1
- Update to 2.12.3. Fixes #1400601

* Wed Nov 30 2016 Jeremy Cline <jeremy@jcline.org> - 2.12.2-1
- Update to 2.12.2

* Wed Nov 23 2016 Jeremy Cline <jeremy@jcline.org> - 2.12.1-2
- Backport #3713. Fixes #1397149

* Thu Nov 17 2016 Jeremy Cline <jeremy@jcline.org> - 2.12.1-1
- Update to 2.12.1. Fixes #1395469
- Unbundle idna, a new upstream dependency

* Sat Aug 27 2016 Kevin Fenzi <kevin@scrye.com> - 2.11.1-1
- Update to 2.11.1. Fixes #1370814

* Wed Aug 10 2016 Kevin Fenzi <kevin@scrye.com> - 2.11.0-1
- Update to 2.11.0. Fixes #1365332

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.10.0-4
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Fri Jul 15 2016 Ralph Bean <rbean@redhat.com> - 2.10.0-3
- Update python2 packaging.

* Thu Jun 02 2016 Ralph Bean <rbean@redhat.com> - 2.10.0-2
- Fix python2 subpackage to comply with guidelines.

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Mon Dec 21 2015 Ralph Bean <rbean@redhat.com> - 2.9.1-1
- new version

* Fri Dec 18 2015 Ralph Bean <rbean@redhat.com> - 2.9.0-1
- new version

* Mon Dec 14 2015 Ralph Bean <rbean@redhat.com> - 2.8.1-1
- Latest upstream.
- Bump hard dep on urllib3 to 1.12.

* Mon Nov 02 2015 Robert Kuska <rkuska@redhat.com> - 2.7.0-8
- Rebuilt for Python3.5 rebuild

* Sat Oct 10 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-7
- Tell setuptools about what version of urllib3 we're unbundling
  for https://github.com/kennethreitz/requests/issues/2816

* Thu Sep 17 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-6
- Replace the provides macro with a plain provides field for now until we can
  re-organize this package into two different subpackages.

* Thu Sep 17 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-5
- Remove 'provides: python2-requests' from the python3 subpackage, obviously.

* Tue Sep 15 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-4
- Employ %%python_provides macro to provide python2-requests.

* Fri Sep 04 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-3
- Lock down the python-urllib3 version to the specific version we unbundled.
  https://bugzilla.redhat.com/show_bug.cgi?id=1253823

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Mon May 04 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-1
- new version

* Wed Apr 29 2015 Ralph Bean <rbean@redhat.com> - 2.6.2-1
- new version

* Thu Apr 23 2015 Ralph Bean <rbean@redhat.com> - 2.6.1-1
- new version

* Wed Apr 22 2015 Ralph Bean <rbean@redhat.com> - 2.6.0-1
- new version
- Remove patch for CVE-2015-2296, now included in the upstream release.

* Mon Mar 16 2015 Ralph Bean <rbean@redhat.com> - 2.5.3-2
- Backport fix for CVE-2015-2296.

* Thu Feb 26 2015 Ralph Bean <rbean@redhat.com> - 2.5.3-1
- new version

* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 2.5.1-1
- new version

* Tue Dec 16 2014 Ralph Bean <rbean@redhat.com> - 2.5.0-3
- Pin python-urllib3 requirement at 1.10.
- Fix requirement pinning syntax.

* Thu Dec 11 2014 Ralph Bean <rbean@redhat.com> - 2.5.0-2
- Do the most basic of tests in the check section.

* Thu Dec 11 2014 Ralph Bean <rbean@redhat.com> - 2.5.0-1
- Latest upstream, 2.5.0 for #1171068

* Wed Nov 05 2014 Ralph Bean <rbean@redhat.com> - 2.4.3-1
- Latest upstream, 2.4.3 for #1136283

* Wed Nov 05 2014 Ralph Bean <rbean@redhat.com> - 2.3.0-4
- Re-do unbundling by symlinking system libs into the requests/packages/ dir.

* Sun Aug  3 2014 Tom Callaway <spot@fedoraproject.org> - 2.3.0-3
- fix license handling

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Thu May 29 2014 Arun S A G <sagarun@gmail.com> - 2.3.0-1
- Latest upstream

* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 2.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4

* Wed Sep 25 2013 Ralph Bean <rbean@redhat.com> - 2.0.0-1
- Latest upstream.
- Add doc macro to the python3 files section.
- Require python-urllib3 greater than or at 1.7.1.

* Mon Aug 26 2013 Rex Dieter <rdieter@fedoraproject.org> 1.2.3-5
- fix versioned dep on python-urllib3

* Mon Aug 26 2013 Ralph Bean <rbean@redhat.com> - 1.2.3-4
- Explicitly versioned the requirements on python-urllib3.

* Thu Aug 22 2013 Ralph Bean <rbean@redhat.com> - 1.2.3-3
- Release bump for a coupled update with python-urllib3.

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Mon Jul 01 2013 Ralph Bean <rbean@redhat.com> - 1.2.3-1
- Latest upstream.
- Fixed bogus date in changelog.

* Tue Jun 11 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-4
- Correct a rhel conditional on python-ordereddict

* Thu Feb 28 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-3
- Unbundled python-urllib3.  Using system python-urllib3 now.
- Conditionally include python-ordereddict for el6.

* Wed Feb 27 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-2
- Unbundled python-charade/chardet.  Using system python-chardet now.
- Removed deprecated comments and actions against oauthlib unbundling.
  Those are no longer necessary in 1.1.0.
- Added links to bz tickets over Patch declarations.

* Tue Feb 26 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-1
- Latest upstream.
- Relicense to ASL 2.0 with upstream.
- Removed cookie handling patch (fixed in upstream tarball).
- Updated cert unbundling patch to match upstream.
- Added check section, but left it commented out for koji.

* Fri Feb  8 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 0.14.1-4
- Let brp_python_bytecompile run again, take care of the non-python{2,3} modules
  by removing them from the python{,3}-requests package that they did not belong
  in.
- Use the certificates in the ca-certificates package instead of the bundled one
  + https://bugzilla.redhat.com/show_bug.cgi?id=904614
- Fix a problem with cookie handling
  + https://bugzilla.redhat.com/show_bug.cgi?id=906924

* Mon Oct 22 2012 Arun S A G <sagarun@gmail.com>  0.14.1-1
- Updated to latest upstream release

* Sun Jun 10 2012 Arun S A G <sagarun@gmail.com> 0.13.1-1
- Updated to latest upstream release 0.13.1
- Use system provided ca-certificates
- No more async requests use grrequests https://github.com/kennethreitz/grequests
- Remove gevent as it is no longer required by requests

* Sun Apr 01 2012 Arun S A G <sagarun@gmail.com> 0.11.1-1
- Updated to upstream release 0.11.1

* Thu Mar 29 2012 Arun S A G <sagarun@gmail.com> 0.10.6-3
- Support building package for EL6

* Tue Mar 27 2012 Rex Dieter <rdieter@fedoraproject.org> 0.10.6-2
- +python3-requests pkg

* Sat Mar 3 2012 Arun SAG <sagarun@gmail.com> - 0.10.6-1
- Updated to new upstream version

* Sat Jan 21 2012 Arun SAG <sagarun@gmail.com> - 0.9.3-1
- Updated to new upstream version 0.9.3
- Include python-gevent as a dependency for requests.async
- Clean up shebangs in requests/setup.py,test_requests.py and test_requests_ext.py

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Sun Nov 27 2011 Arun SAG <sagarun@gmail.com> - 0.8.2-1
- New upstream version
- keep alive support
- complete removal of cookiejar and urllib2

* Thu Nov 10 2011 Arun SAG <sagarun@gmail.com> - 0.7.6-1
- Updated to new upstream release 0.7.6

* Thu Oct 20 2011 Arun SAG <sagarun@gmail.com> - 0.6.6-1
- Updated to version 0.6.6

* Fri Aug 26 2011 Arun SAG <sagarun@gmail.com> - 0.6.1-1
- Updated to version 0.6.1

* Sat Aug 20 2011 Arun SAG <sagarun@gmail.com> - 0.6.0-1
- Updated to latest version 0.6.0

* Mon Aug 15 2011 Arun SAG <sagarun@gmail.com> - 0.5.1-2
- Remove OPT_FLAGS from build section since it is a noarch package
- Fix use of mixed tabs and space
- Remove extra space around the word cumbersome in description

* Sun Aug 14 2011 Arun SAG <sagarun@gmail.com> - 0.5.1-1
- Initial package