mirror of
https://abf.rosa.ru/djam/python-urllib3.git
synced 2025-02-23 17:22:46 +00:00
146 lines
4.6 KiB
RPMSpec
146 lines
4.6 KiB
RPMSpec
%define module urllib3
|
|
|
|
Summary: Python HTTP library with thread-safe connection pooling, file post, and more
|
|
Name: python-%{module}
|
|
Version: 1.13.1
|
|
Release: 4
|
|
License: MIT
|
|
Group: Development/Python
|
|
Url: http://urllib3.readthedocs.org/
|
|
Source0: https://pypi.python.org/packages/source/u/%{module}/%{module}-%{version}.tar.gz
|
|
Source1: ssl_match_hostname_py3.py
|
|
BuildRequires: python-setuptools
|
|
BuildRequires: python-six
|
|
BuildRequires: pkgconfig(python)
|
|
BuildRequires: python-mock
|
|
BuildRequires: python-nose
|
|
BuildRequires: python-tornado
|
|
Requires: python-six
|
|
Requires: rootcerts
|
|
BuildArch: noarch
|
|
|
|
%description
|
|
There are two critical features missing from the Python standard
|
|
library: Connection re-using/pooling and file posting. It's not
|
|
terribly hard to implement these yourself, but it's much easier to use
|
|
a module that already did the work for you.
|
|
|
|
The Python standard libraries urllib and urllib2 have little to do
|
|
with each other. They were designed to be independent and standalone,
|
|
each solving a different scope of problems, and urllib3 follows in a
|
|
similar vein.
|
|
|
|
%files
|
|
%doc CHANGES.rst README.rst CONTRIBUTORS.txt
|
|
%{py_puresitedir}/*
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package -n python3-%{module}
|
|
Summary: Python 3 HTTP library with thread-safe connection pooling, file post, and more
|
|
Group: Development/Python
|
|
BuildRequires: python3-setuptools
|
|
BuildRequires: python3-six
|
|
BuildRequires: pkgconfig(python3)
|
|
# For unittests
|
|
BuildRequires: python3-mock
|
|
BuildRequires: python3-nose
|
|
BuildRequires: python3-six
|
|
BuildRequires: python3-tornado
|
|
Requires: python3-six
|
|
Requires: rootcerts
|
|
|
|
%description -n python3-%{module}
|
|
There are two critical features missing from the Python standard
|
|
library: Connection re-using/pooling and file posting. It's not
|
|
terribly hard to implement these yourself, but it's much easier to use
|
|
a module that already did the work for you.
|
|
|
|
The Python standard libraries urllib and urllib2 have little to do
|
|
with each other. They were designed to be independent and standalone,
|
|
each solving a different scope of problems, and urllib3 follows in a
|
|
similar vein.
|
|
|
|
%files -n python3-%{module}
|
|
%doc CHANGES.rst README.rst CONTRIBUTORS.txt
|
|
%{py3_puresitedir}/*
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%prep
|
|
%setup -q -n %{module}-%{version}
|
|
|
|
%apply_patches
|
|
|
|
cp -a . %{py3dir}
|
|
|
|
%build
|
|
python setup.py build
|
|
|
|
pushd %{py3dir}
|
|
python3 setup.py build
|
|
popd
|
|
|
|
%install
|
|
python setup.py install --skip-build --root %{buildroot}
|
|
|
|
rm -rf %{buildroot}/%{py_puresitedir}/urllib3/packages/six.py*
|
|
rm -rf %{buildroot}/%{py_puresitedir}/urllib3/packages/ssl_match_hostname/
|
|
|
|
mkdir -p %{buildroot}/%{py_puresitedir}/urllib3/packages/
|
|
ln -s ../../six.py %{buildroot}/%{py_puresitedir}/urllib3/packages/six.py
|
|
ln -s ../../six.pyc %{buildroot}/%{py_puresitedir}/urllib3/packages/six.pyc
|
|
ln -s ../../six.pyo %{buildroot}/%{py_puresitedir}/urllib3/packages/six.pyo
|
|
ln -s ../../backports/ssl_match_hostname %{buildroot}/%{py_puresitedir}/urllib3/packages/ssl_match_hostname
|
|
|
|
# dummyserver is part of the unittest framework
|
|
rm -rf %{buildroot}%{py_puresitedir}/dummyserver
|
|
|
|
pushd %{py3dir}
|
|
python3 setup.py install --skip-build --root %{buildroot}
|
|
|
|
# dummyserver is part of the unittest framework
|
|
rm -rf %{buildroot}%{py3_puresitedir}/dummyserver
|
|
|
|
rm -rf %{buildroot}/%{py3_puresitedir}/urllib3/packages/six.py*
|
|
rm -rf %{buildroot}/%{py3_puresitedir}/urllib3/packages/ssl_match_hostname/
|
|
|
|
mkdir -p %{buildroot}/%{py3_puresitedir}/urllib3/packages/
|
|
ln -s ../../six.py %{buildroot}/%{py3_puresitedir}/urllib3/packages/six.py
|
|
ln -s ../../six.pyc %{buildroot}/%{py3_puresitedir}/urllib3/packages/six.pyc
|
|
ln -s ../../six.pyo %{buildroot}/%{py3_puresitedir}/urllib3/packages/six.pyo
|
|
cp %{SOURCE1} %{buildroot}/%{py3_puresitedir}/urllib3/packages/ssl_match_hostname.py
|
|
|
|
popd
|
|
|
|
|
|
%pretrans -p <lua>
|
|
path = "%{py_puresitedir}/urllib3/packages/ssl_match_hostname"
|
|
st = posix.stat(path)
|
|
if st and st.type == "directory" then
|
|
status = os.rename(path, path .. ".rpmmoved")
|
|
if not status then
|
|
suffix = 0
|
|
while not status do
|
|
suffix = suffix + 1
|
|
status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix)
|
|
end
|
|
os.rename(path, path .. ".rpmmoved")
|
|
end
|
|
end
|
|
|
|
%pretrans -p <lua> -n python3-%{module}
|
|
path = "%{py3_puresitedir}/urllib3/packages/ssl_match_hostname"
|
|
st = posix.stat(path)
|
|
if st and st.type == "directory" then
|
|
status = os.rename(path, path .. ".rpmmoved")
|
|
if not status then
|
|
suffix = 0
|
|
while not status do
|
|
suffix = suffix + 1
|
|
status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix)
|
|
end
|
|
os.rename(path, path .. ".rpmmoved")
|
|
end
|
|
end
|
|
|