%if 0%{?fedora} %global with_python3 1 %endif %global srcname urllib3 Name: python-%{srcname} Version: 1.5 Release: 1%{?dist} Summary: Python HTTP library with thread-safe connection pooling and file post License: MIT URL: http://urllib3.readthedocs.org/ Source0: http://pypi.python.org/packages/source/u/%{srcname}/%{srcname}-%{version}.tar.gz # Patch to change default behaviour to check SSL certs for validity # https://bugzilla.redhat.com/show_bug.cgi?id=855320 Patch0: python-urllib3-default-ssl-cert-validate.patch ### TODO: Send this to upstream urllib3 # make all imports of things in packages try system copies first Patch1: urllib3-unbundle.patch ### TODO: Send this upstream # Compatibility with python-2.6's unittest Patch2: urllib3-py2.6-compat.patch # Remove logging-clear-handlers from setup.cfg because it's not available in RHEL6's nose Patch100: urllib3-old-nose-compat.patch BuildArch: noarch Requires: python-six ### TODO: In review https://bugzilla.redhat.com/show_bug.cgi?id=885013 # Requires: python-backports-ssl_match_hostname %if 0%{?rhel} <= 6 Requires: python-ordereddict BuildRequires: python-ordereddict %endif BuildRequires: python2-devel # For unittests BuildRequires: python-nose BuildRequires: python-six BuildRequires: python-tornado %if 0%{?with_python3} BuildRequires: python3-devel # For unittests BuildRequires: python3-nose BuildRequires: python3-six # python-tornado-2.0+ have support for python3 but our package doesn't have it yet #BuildRequires: python3-tornado %endif # with_python3 %description Python HTTP module with connection pooling and file POST abilities. %if 0%{?with_python3} %package -n python3-%{srcname} Requires: python3-six # Note: Will not run with python3 < 3.2 (unless python3-backports-ssl_match_hostname is created) Summary: Python3 HTTP library with thread-safe connection pooling and file post %description -n python3-%{srcname} Python3 HTTP module with connection pooling and file POST abilities. %endif # with_python3 %prep %setup -q -n %{srcname}-%{version} ### TODO: unbundle everything in packages/: ### ordered_dict can be replaced with python-ordereddict (unless present in python itself), # ssl_match_hostname https://bugzilla.redhat.com/show_bug.cgi?id=885013 rm -rf urllib3/packages/six* rm -rf urllib3/packages/ordered_dict* %patch0 -p1 %patch1 -p1 %if 0%{?rhel} && 0%{?rhel} <= 6 %patch100 -p1 %patch2 -p1 %endif %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} %endif # with_python3 %build %{__python} setup.py build %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py build popd %endif # with_python3 %install %{__python} setup.py install --skip-build --root %{buildroot} # dummyserver is part of the unittest framework rm -rf %{buildroot}%{python_sitelib}/dummyserver %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py install --skip-build --root %{buildroot} # dummyserver is part of the unittest framework rm -rf %{buildroot}%{python3_sitelib}/dummyserver popd %endif # with_python3 %check nosetests %if 0%{?with_python3} pushd %{py3dir} # Until python3-tornado packages are available, exclude the tornado-using tests # Note that this is a wide swathe of functionality so we should get this # re-enabled ASAP nosetests-%{python3_version} -e '.*dummyserver.*' popd %endif # with_python3 %files %doc CHANGES.rst LICENSE.txt README.rst CONTRIBUTORS.txt # For noarch packages: sitelib %{python_sitelib}/* %if 0%{?with_python3} %files -n python3-%{srcname} %doc LICENSE.txt # For noarch packages: sitelib %{python3_sitelib}/* %endif # with_python3 %changelog * Mon Feb 04 2013 Toshio Kuratomi - 1.5-1 - Iniital fedora build.