202 lines
5.5 KiB
RPMSpec
202 lines
5.5 KiB
RPMSpec
%global srcname acme
|
|
|
|
%if 0%{?fedora}
|
|
%bcond_without python3
|
|
%else
|
|
%bcond_with python3
|
|
%endif
|
|
|
|
Name: python-acme
|
|
Version: 0.20.0
|
|
Release: 1%{?dist}
|
|
Summary: Python library for the ACME protocol
|
|
License: ASL 2.0
|
|
URL: https://pypi.python.org/pypi/acme
|
|
Source0: https://files.pythonhosted.org/packages/source/a/%{srcname}/%{srcname}-%{version}.tar.gz
|
|
|
|
# When running tests argparse is not recognised as provided by core
|
|
|
|
%if 0%{?rhel}
|
|
Patch0: epel7-setup.patch
|
|
%endif
|
|
|
|
BuildRequires: python2-devel
|
|
BuildRequires: python-sphinx
|
|
%if 0%{?fedora}
|
|
BuildRequires: python-sphinx_rtd_theme
|
|
%endif
|
|
BuildRequires: python-cryptography
|
|
BuildRequires: pyOpenSSL >= 0.13
|
|
BuildRequires: python-requests
|
|
BuildRequires: python-pyrfc3339
|
|
|
|
%if %{with python3}
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3-sphinx
|
|
BuildRequires: python3-cryptography
|
|
BuildRequires: python3-pyOpenSSL >= 0.13
|
|
BuildRequires: python3-requests
|
|
BuildRequires: python3-pyrfc3339
|
|
%endif
|
|
|
|
# Required for testing
|
|
BuildRequires: python-ndg_httpsclient
|
|
BuildRequires: python-nose
|
|
BuildRequires: python-tox
|
|
BuildRequires: python-mock
|
|
BuildRequires: pytz
|
|
|
|
%if %{with python3}
|
|
BuildRequires: python3-ndg_httpsclient
|
|
BuildRequires: python3-nose
|
|
BuildRequires: python3-tox
|
|
BuildRequires: python3-mock
|
|
BuildRequires: python3-pytz
|
|
%endif
|
|
|
|
BuildArch: noarch
|
|
|
|
%{!?py2_build: %global py2_build CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build}
|
|
%{!?py2_install: %global py2_install %{__python} setup.py install --skip-build --root %{buildroot}}
|
|
%{!?python2_sitelib: %global python2_sitelib %{python_sitelib}}
|
|
|
|
%package -n python2-acme
|
|
Requires: python-cryptography
|
|
Requires: python-ndg_httpsclient
|
|
Requires: python-pyasn1
|
|
Requires: pyOpenSSL >= 0.13
|
|
Requires: python-pyrfc3339
|
|
Requires: pytz
|
|
Requires: python-requests
|
|
Requires: python-six
|
|
%if %{with python3}
|
|
# Recommends not supported by rpm on EL7
|
|
#Recommends: python-acme-doc
|
|
%endif
|
|
Summary: %{summary}
|
|
%{?python_provide:%python_provide python2-acme}
|
|
|
|
|
|
%description
|
|
Python libraries implementing the Automatic Certificate Management Environment
|
|
(ACME) protocol. It is used by the Let's Encrypt project.
|
|
|
|
%description -n python2-acme
|
|
Python 2 library for use of the Automatic Certificate Management Environment
|
|
protocol as defined by the IETF. It's used by the Let's Encrypt project.
|
|
|
|
%if %{with python3}
|
|
%package -n python3-acme
|
|
Requires: python3-cryptography
|
|
Requires: python3-ndg_httpsclient
|
|
Requires: python3-pyasn1
|
|
Requires: python3-pyOpenSSL
|
|
Requires: python3-pyrfc3339
|
|
Requires: python3-pytz
|
|
Requires: python3-requests
|
|
Requires: python3-six
|
|
#Recommends: python-acme-doc
|
|
Summary: %{summary}
|
|
%{?python_provide:%python_provide python3-acme}
|
|
|
|
%description -n python3-acme
|
|
Python 3 library for use of the Automatic Certificate Management Environment
|
|
protocol as defined by the IETF. It's used by the Let's Encrypt project.
|
|
%endif
|
|
|
|
%if 0%{?fedora}
|
|
%package doc
|
|
Provides: bundled(jquery)
|
|
Provides: bundled(underscore)
|
|
Provides: bundled(inconsolata-fonts)
|
|
Provides: bundled(lato-fonts)
|
|
Provides: bundled(robotoslab-fonts)
|
|
Requires: fontawesome-fonts fontawesome-fonts-web
|
|
Summary: Documentation for python-acme libraries
|
|
|
|
%description doc
|
|
Documentation for the ACME python libraries
|
|
%endif
|
|
|
|
%prep
|
|
%autosetup -p1 -n %{srcname}-%{version}
|
|
|
|
|
|
%build
|
|
%py2_build
|
|
%if %{with python3}
|
|
%py3_build
|
|
%endif
|
|
|
|
%install
|
|
%py2_install
|
|
mv %{buildroot}%{_bindir}/jws{,-2}
|
|
%if %{with python3}
|
|
%py3_install
|
|
mv %{buildroot}%{_bindir}/jws{,-3}
|
|
%endif
|
|
|
|
# Doc generation is currently broken on EL7, see bz#1492884
|
|
%if 0%{?fedora}
|
|
# man page is pretty useless but api pages are decent
|
|
# Issue opened upstream for improving man page
|
|
# Need to cd as parent makefile tries to build libraries
|
|
( cd docs && make html )
|
|
# Clean up stuff we don't need for docs
|
|
rm -rf docs/_build/html/{.buildinfo,man,_sources}
|
|
# Unbundle fonts already on system
|
|
# Lato ttf is in texlive but that adds a lot of dependencies (30+MB) for just a font in documentation
|
|
# and lato is not in it's own -fonts package, only texlive
|
|
rm -f docs/_build/html/_static/fonts/fontawesome*
|
|
ln -sf /usr/share/fonts/fontawesome/fontawesome-webfont.eot docs/_build/html/_static/fonts/fontawesome-webfont.eot
|
|
ln -sf /usr/share/fonts/fontawesome/fontawesome-webfont.svg docs/_build/html/_static/fonts/fontawesome-webfont.svg
|
|
ln -sf /usr/share/fonts/fontawesome/fontawesome-webfont.ttf docs/_build/html/_static/fonts/fontawesome-webfont.ttf
|
|
ln -sf /usr/share/fonts/fontawesome/fontawesome-webfont.woff docs/_build/html/_static/fonts/fontawesome-webfont.woff
|
|
%endif
|
|
# upstream state that certbot isn't ready for python3 yet so symlink the -2 version for now
|
|
ln -s %{_bindir}/jws-2 %{buildroot}%{_bindir}/jws
|
|
|
|
%check
|
|
%{__python2} setup.py test
|
|
%if %{with python3}
|
|
%{__python3} setup.py test
|
|
%endif
|
|
# Make sure the scripts use the expected python versions
|
|
grep -q %{__python2} %{buildroot}%{_bindir}/jws-2
|
|
%if %{with python3}
|
|
grep -q %{__python3} %{buildroot}%{_bindir}/jws-3
|
|
%endif
|
|
|
|
%files -n python2-acme
|
|
%license LICENSE.txt
|
|
%{python2_sitelib}/%{srcname}
|
|
%{python2_sitelib}/%{srcname}-%{version}*.egg-info
|
|
%{_bindir}/jws
|
|
%{_bindir}/jws-2
|
|
%if 0%{?rhel}
|
|
%doc README.rst
|
|
%endif
|
|
|
|
%if %{with python3}
|
|
%files -n python3-acme
|
|
%license LICENSE.txt
|
|
%{python3_sitelib}/%{srcname}
|
|
%{python3_sitelib}/%{srcname}-%{version}*.egg-info
|
|
%{_bindir}/jws-3
|
|
%if 0%{?rhel}
|
|
%doc README.rst
|
|
%endif
|
|
%endif
|
|
|
|
%if 0%{?fedora}
|
|
%files doc
|
|
%license LICENSE.txt
|
|
%doc README.rst
|
|
%doc docs/_build/html
|
|
%endif
|
|
|
|
%changelog
|
|
* Sun Jan 21 2018 Daniel Steiner <daniel.steiner@greenmail.ch> - 0.21.0-1
|
|
- Initial build for Fedora 27
|
|
|