diff --git a/SOURCES/python-requests-remove-nested-bundling-dep.patch b/SOURCES/python-requests-remove-nested-bundling-dep.patch new file mode 100644 index 00000000..d915a4e4 --- /dev/null +++ b/SOURCES/python-requests-remove-nested-bundling-dep.patch @@ -0,0 +1,29 @@ +From 8c2259d4ab03ef982738aaf863068a1015cadf3d Mon Sep 17 00:00:00 2001 +From: Ralph Bean +Date: Wed, 5 Nov 2014 10:23:44 -0500 +Subject: [PATCH] Remove nested bundling dep. + +--- + requests/compat.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/requests/compat.py b/requests/compat.py +index be5a1ed..70ea4e8 100644 +--- a/requests/compat.py ++++ b/requests/compat.py +@@ -91,7 +91,11 @@ if is_py2: + import cookielib + from Cookie import Morsel + from StringIO import StringIO +- from .packages.urllib3.packages.ordered_dict import OrderedDict ++ ++ try: ++ from collections import OrderedDict # py2.7 ++ except: ++ from ordereddict import OrderedDict # py2.6 and lower (el6, etc.) + + builtin_str = str + bytes = str +-- +1.9.3 + diff --git a/SOURCES/python-requests-system-cert-bundle.patch b/SOURCES/python-requests-system-cert-bundle.patch new file mode 100644 index 00000000..e76b741e --- /dev/null +++ b/SOURCES/python-requests-system-cert-bundle.patch @@ -0,0 +1,38 @@ +From a49b39fbfe01791880c6e7179f6efdad03e8ce58 Mon Sep 17 00:00:00 2001 +From: Ralph Bean +Date: Wed, 5 Nov 2014 10:15:17 -0500 +Subject: [PATCH] system cert bundle + +--- + requests/certs.py | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/requests/certs.py b/requests/certs.py +index 07e6475..2c7ca96 100644 +--- a/requests/certs.py ++++ b/requests/certs.py +@@ -10,16 +10,17 @@ This module returns the preferred default CA certificate bundle. + If you are packaging Requests, e.g., for a Linux distribution or a managed + environment, you can change the definition of where() to return a separately + packaged CA bundle. ++ ++We return "/etc/pki/tls/certs/ca-bundle.crt" provided by the ca-certificates ++package. + """ +-import os.path + + try: + from certifi import where + except ImportError: + def where(): +- """Return the preferred certificate bundle.""" +- # vendored bundle inside Requests +- return os.path.join(os.path.dirname(__file__), 'cacert.pem') ++ """ Don't use the certs bundled with requests, use ca-certificates. """ ++ return "/etc/pki/tls/certs/ca-bundle.crt" + + if __name__ == '__main__': + print(where()) +-- +1.9.3 + diff --git a/SPECS/python-requests.spec b/SPECS/python-requests.spec new file mode 100644 index 00000000..868b7868 --- /dev/null +++ b/SPECS/python-requests.spec @@ -0,0 +1,221 @@ +%global _with_python3 1 + +Name: python-requests +Version: 2.6.0 +Release: 1%{?dist} +Summary: HTTP library, written in Python, for human beings + +License: ASL 2.0 +URL: http://pypi.python.org/pypi/requests +Source0: http://pypi.python.org/packages/source/r/requests/requests-%{version}.tar.gz +# Explicitly use the system certificates in ca-certificates. +# https://bugzilla.redhat.com/show_bug.cgi?id=904614 +Patch0: python-requests-system-cert-bundle.patch + +# Remove an unnecessary reference to a bundled compat lib in urllib3 +Patch1: python-requests-remove-nested-bundling-dep.patch + +BuildArch: noarch +BuildRequires: python2-devel +BuildRequires: python-chardet >= 2.2.1-1 +BuildRequires: python-urllib3 >= 1.10.2-1 + +Requires: ca-certificates +Requires: python-chardet >= 2.2.1-1 +Requires: python-urllib3 >= 1.10.2-1 + +%if 0%{?rhel} && 0%{?rhel} <= 6 +BuildRequires: python-ordereddict >= 1.1 +Requires: python-ordereddict >= 1.1 +%endif + +%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. + +%if 0%{?_with_python3} +%package -n python3-requests +Summary: HTTP library, written in Python, for human beings +BuildRequires: python3-devel +BuildRequires: python3-chardet +BuildRequires: python3-urllib3 +Requires: python3-chardet +Requires: python3-urllib3 + +%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. +%endif + +%prep +%setup -q -n requests-%{version} + +%patch0 -p1 +%patch1 -p1 + +# Unbundle the certificate bundle from mozilla. +rm -rf requests/cacert.pem + +%if 0%{?_with_python3} +rm -rf %{py3dir} +cp -a . %{py3dir} +%endif # with_python3 + +%build +%if 0%{?_with_python3} +pushd %{py3dir} +%{__python3} setup.py build + +# Unbundle chardet and urllib3. +rm -rf build/lib/requests/packages/chardet +rm -rf build/lib/requests/packages/urllib3 + +popd +%endif + +%{__python} setup.py build + +# Unbundle chardet and urllib3. +rm -rf build/lib/requests/packages/chardet +rm -rf build/lib/requests/packages/urllib3 + +%install +rm -rf $RPM_BUILD_ROOT +%if 0%{?_with_python3} +pushd %{py3dir} +%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT +popd +%endif + +%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT + +## The tests succeed if run locally, but fail in koji. +## They require an active network connection to query httpbin.org +#%%check +#%%{__python} test_requests.py +#%%if 0%%{?_with_python3} +#pushd %%{py3dir} +#%%{__python3} test_requests.py +#popd +#%%endif + +%files +%defattr(-,root,root,-) +%doc NOTICE LICENSE README.rst HISTORY.rst +%{python_sitelib}/*.egg-info +%dir %{python_sitelib}/requests +%{python_sitelib}/requests/* + +%if 0%{?_with_python3} +%files -n python3-requests +%{python3_sitelib}/*.egg-info +%{python3_sitelib}/requests/ +%endif + +%changelog +* Wed Jun 03 2015 Matej Stuchlik - 2.6.0-1 +- Update to 2.6.0 +Resolves: rhbz#1206465 + +* Mon Jan 12 2015 Endi S. Dewata - 1.1.0-9 +- Merged headers with different cases. +Resolves: rhbz#1206465 + +* Mon Jan 27 2014 Endi S. Dewata - 1.1.0-8 +- Removed authentication header on redirect. + +* Fri Dec 27 2013 Daniel Mach - 1.1.0-7 +- Mass rebuild 2013-12-27 + +* Fri Oct 4 2013 Endi S. Dewata - 1.1.0-6 +- Removed bundled packages. + +* Tue Jun 18 2013 Endi S. Dewata - 1.1.0-5 +- Fixed bogus date in changelog entry. + +* Tue Jun 11 2013 Ralph Bean - 1.1.0-4 +- Correct a rhel conditional on python-ordereddict + +* Thu Feb 28 2013 Ralph Bean - 1.1.0-3 +- Unbundled python-urllib3. Using system python-urllib3 now. +- Conditionally include python-ordereddict for el6. + +* Wed Feb 27 2013 Ralph Bean - 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 - 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 - 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 0.14.1-1 +- Updated to latest upstream release + +* Sun Jun 10 2012 Arun S A G 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 0.11.1-1 +- Updated to upstream release 0.11.1 + +* Thu Mar 29 2012 Arun S A G 0.10.6-3 +- Support building package for EL6 + +* Tue Mar 27 2012 Rex Dieter 0.10.6-2 +- +python3-requests pkg + +* Sat Mar 3 2012 Arun SAG - 0.10.6-1 +- Updated to new upstream version + +* Sat Jan 21 2012 Arun SAG - 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 - 0.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sun Nov 27 2011 Arun SAG - 0.8.2-1 +- New upstream version +- keep alive support +- complete removal of cookiejar and urllib2 + +* Thu Nov 10 2011 Arun SAG - 0.7.6-1 +- Updated to new upstream release 0.7.6 + +* Thu Oct 20 2011 Arun SAG - 0.6.6-1 +- Updated to version 0.6.6 + +* Fri Aug 26 2011 Arun SAG - 0.6.1-1 +- Updated to version 0.6.1 + +* Sat Aug 20 2011 Arun SAG - 0.6.0-1 +- Updated to latest version 0.6.0 + +* Mon Aug 15 2011 Arun SAG - 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 - 0.5.1-1 +- Initial package