mirror of
https://abf.rosa.ru/djam/python-urllib3.git
synced 2025-02-23 17:22:46 +00:00
241 lines
7.6 KiB
RPMSpec
241 lines
7.6 KiB
RPMSpec
%define module urllib3
|
|
|
|
Summary: Python HTTP library
|
|
Name: python-%{module}
|
|
Version: 1.26.18
|
|
Release: 1
|
|
License: MIT
|
|
Group: Development/Python
|
|
URL: https://urllib3.readthedocs.io
|
|
#Source0: https://files.pythonhosted.org/packages/cb/cf/871177f1fc795c6c10787bc0e1f27bb6cf7b81dbde399fd35860472cecbc/urllib3-1.26.4.tar.gz
|
|
Source0: https://github.com/urllib3/urllib3/archive/%{version}/%{name}-%{version}.tar.gz
|
|
Source1: ssl_match_hostname_py3.py
|
|
BuildArch: noarch
|
|
BuildRequires: python-setuptools
|
|
BuildRequires: python-six
|
|
BuildRequires: pkgconfig(python)
|
|
# For unittests
|
|
BuildRequires: python-mock
|
|
BuildRequires: python-nose
|
|
BuildRequires: python-tornado
|
|
Requires: python-six
|
|
Requires: rootcerts
|
|
|
|
|
|
|
|
%description
|
|
The urllib3 module is a powerful, sanity-friendly HTTP client for Python. It
|
|
offers some features that are missing from the Python standard libraries
|
|
(urllib and urllib2):
|
|
* Thread safety.
|
|
* Connection pooling.
|
|
* Client-side SSL/TLS verification.
|
|
* File uploads with multipart encoding.
|
|
* Helpers for retrying requests and dealing with HTTP redirects.
|
|
* Support for gzip and deflate encoding.
|
|
* Proxy support for HTTP and SOCKS.
|
|
The Python standard libraries 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.
|
|
This package contains the python2 files.
|
|
|
|
|
|
%files
|
|
%doc CHANGES.rst README.rst
|
|
%{py_puresitedir}/*
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package -n python3-%{module}
|
|
Summary: Python 3 HTTP library
|
|
Group: Development/Python
|
|
BuildRequires: python3-setuptools
|
|
BuildRequires: python3-six
|
|
BuildRequires: pkgconfig(python3)
|
|
# For unittests
|
|
BuildRequires: python3-mock
|
|
BuildRequires: python3-nose
|
|
BuildRequires: python3-tornado
|
|
Requires: python3-six
|
|
Requires: rootcerts
|
|
|
|
%description -n python3-%{module}
|
|
The urllib3 module is a powerful, sanity-friendly HTTP client for Python. It
|
|
offers some features that are missing from the Python standard libraries
|
|
(urllib and urllib2):
|
|
* Thread safety.
|
|
* Connection pooling.
|
|
* Client-side SSL/TLS verification.
|
|
* File uploads with multipart encoding.
|
|
* Helpers for retrying requests and dealing with HTTP redirects.
|
|
* Support for gzip and deflate encoding.
|
|
* Proxy support for HTTP and SOCKS.
|
|
The Python standard libraries 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.
|
|
This package contains the python3 files.
|
|
|
|
%files -n python3-%{module}
|
|
%doc CHANGES.rst README.rst
|
|
%{py3_puresitedir}/*
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package -n python38-%{module}
|
|
Summary: Python 3 HTTP library
|
|
Group: Development/Python
|
|
BuildRequires: python38-setuptools
|
|
BuildRequires: python38-six
|
|
BuildRequires: python38-devel
|
|
# For unittests
|
|
BuildRequires: python38-mock
|
|
BuildRequires: python38-nose
|
|
BuildRequires: python38-tornado
|
|
Requires: python38-six
|
|
Requires: rootcerts
|
|
|
|
%description -n python38-%{module}
|
|
The urllib3 module is a powerful, sanity-friendly HTTP client for Python. It
|
|
offers some features that are missing from the Python standard libraries
|
|
(urllib and urllib2):
|
|
* Thread safety.
|
|
* Connection pooling.
|
|
* Client-side SSL/TLS verification.
|
|
* File uploads with multipart encoding.
|
|
* Helpers for retrying requests and dealing with HTTP redirects.
|
|
* Support for gzip and deflate encoding.
|
|
* Proxy support for HTTP and SOCKS.
|
|
The Python standard libraries 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.
|
|
This package contains the python3 files.
|
|
|
|
%files -n python38-%{module}
|
|
%doc CHANGES.rst README.rst
|
|
%{py38_puresitedir}/*
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%prep
|
|
%setup -q -n %{module}-%{version}
|
|
#apply_patches
|
|
|
|
# Prepare python3 dirs
|
|
cp -a . %{py3dir}
|
|
cp -a . %{py38dir}
|
|
|
|
%build
|
|
# Build first the python2 stuff...
|
|
#{__python2} setup.py build
|
|
# ... next the python3 stuff
|
|
%py_build
|
|
|
|
pushd %{py3dir}
|
|
# {__python3} setup.py build
|
|
%py3_build
|
|
popd
|
|
|
|
pushd %{py38dir}
|
|
%py38_build
|
|
popd
|
|
|
|
%install
|
|
################
|
|
# Install first the python2 stuff...
|
|
#{__python2} setup.py install --skip-build --root %{buildroot}
|
|
%py_install
|
|
|
|
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
|
|
|
|
###############
|
|
# ... next the python3 stuff
|
|
pushd %{py3dir}
|
|
# {__python3} setup.py install --skip-build --root %{buildroot}
|
|
%py3_install
|
|
|
|
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
|
|
|
|
# dummyserver is part of the unittest framework
|
|
rm -rf %{buildroot}%{py3_puresitedir}/dummyserver
|
|
popd
|
|
|
|
pushd %{py38dir}
|
|
# {__python38} setup.py install --skip-build --root %{buildroot}
|
|
%py38_install
|
|
|
|
rm -rf %{buildroot}/%{py38_puresitedir}/urllib3/packages/six.py*
|
|
rm -rf %{buildroot}/%{py38_puresitedir}/urllib3/packages/ssl_match_hostname/
|
|
|
|
mkdir -p %{buildroot}/%{py38_puresitedir}/urllib3/packages/
|
|
ln -s ../../six.py %{buildroot}/%{py38_puresitedir}/urllib3/packages/six.py
|
|
ln -s ../../six.pyc %{buildroot}/%{py38_puresitedir}/urllib3/packages/six.pyc
|
|
ln -s ../../six.pyo %{buildroot}/%{py38_puresitedir}/urllib3/packages/six.pyo
|
|
cp %{SOURCE1} %{buildroot}/%{py38_puresitedir}/urllib3/packages/ssl_match_hostname.py
|
|
|
|
# dummyserver is part of the unittest framework
|
|
rm -rf %{buildroot}%{py38_puresitedir}/dummyserver
|
|
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
|
|
|
|
|
|
%pretrans -p <lua> -n python38-%{module}
|
|
path = "%{py38_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
|