Two now package, but, not working for the upgrade

This commit is contained in:
2018-01-21 13:43:16 +01:00
parent 7b8af531db
commit 4b4fce5ceb
2 changed files with 426 additions and 0 deletions

View File

@@ -0,0 +1,201 @@
%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