1 |
%global oldpkg letsencrypt |
2 |
|
3 |
# ovitters: python auto provides change e.g. 1.4.0 into 1.4 |
4 |
%define acme_version %{lua:txt = string.gsub(rpm.expand("%{version}"), "\.0$",""); print(txt)} |
5 |
|
6 |
Name: certbot |
7 |
Version: 1.23.0 |
8 |
Release: %mkrel 1 |
9 |
Summary: A free, automated certificate authority client |
10 |
Group: Development/Python |
11 |
License: ASL 2.0 |
12 |
URL: https://github.com/certbot/certbot |
13 |
Source0: https://github.com/certbot/certbot/archive/v%{version}/%{name}-%{version}.tar.gz |
14 |
Source10: certbot-renew-systemd.service |
15 |
Source11: certbot-renew-systemd.timer |
16 |
Source12: certbot-sysconfig-certbot |
17 |
Source13: README.urpmi |
18 |
|
19 |
# In order to prevent Sphinx from contacting the network, we ship the necessary intersphinx inventory files ourselves: |
20 |
# wget -O python.inv https://docs.python.org/2/objects.inv |
21 |
# wget -O acme-python.inv https://acme-python.readthedocs.io/en/latest/objects.inv |
22 |
# tar czf object.inv-XXX.tar.gz python.inv acme-python.inv |
23 |
Source100: object.inv-%{version}.tar.gz |
24 |
|
25 |
BuildArch: noarch |
26 |
|
27 |
BuildRequires: pkgconfig(python3) |
28 |
|
29 |
# For the systemd macros |
30 |
%{?systemd_requires} |
31 |
BuildRequires: pkgconfig(libsystemd) |
32 |
|
33 |
# Required for documentation |
34 |
BuildRequires: python3dist(sphinx) |
35 |
BuildRequires: python3-sphinx_rtd_theme |
36 |
BuildRequires: python3dist(repoze.sphinx.autointerface) |
37 |
BuildRequires: python3dist(mypy) |
38 |
|
39 |
#Require for testing |
40 |
#BuildRequires: python3-nose-xcover |
41 |
BuildRequires: python3dist(pep8) |
42 |
BuildRequires: python3dist(tox) |
43 |
BuildRequires: python3dist(mock) |
44 |
BuildRequires: python3dist(configargparse) >= 0.10.0 |
45 |
BuildRequires: python3dist(zope.interface) |
46 |
BuildRequires: python3dist(zope.component) |
47 |
BuildRequires: python3dist(requests) |
48 |
BuildRequires: python3dist(pythondialog) >= 3.3.0 |
49 |
BuildRequires: python3dist(psutil) >= 2.1.0 |
50 |
BuildRequires: python3dist(parsedatetime) |
51 |
BuildRequires: python3dist(configobj) |
52 |
BuildRequires: python3dist(configargparse) >= 0.10.0 |
53 |
BuildRequires: python3dist(acme) = %{acme_version} |
54 |
BuildRequires: python3dist(ndg-httpsclient) |
55 |
BuildRequires: python3dist(cryptography) |
56 |
BuildRequires: python3dist(pytz) |
57 |
BuildRequires: python3dist(wheel) |
58 |
BuildRequires: python3dist(pytest) |
59 |
BuildRequires: python3dist(pyyaml) |
60 |
%if 0 |
61 |
BuildRequires: python3dist(docker) |
62 |
BuildRequires: docker |
63 |
BuildRequires: docker-compose |
64 |
%endif |
65 |
|
66 |
Requires: python3dist(configargparse) >= 0.10.0 |
67 |
Requires: python3dist(pythondialog) >= 3.3.0 |
68 |
Requires: python3dist(parsedatetime) |
69 |
Requires: python3dist(mock) |
70 |
Requires: python3-zope-interface |
71 |
Requires: python3-zope-component |
72 |
Requires: python3dist(psutil) >= 2.1.0 |
73 |
Requires: python3dist(future) |
74 |
Requires: python3dist(configobj) |
75 |
Requires: python3dist(acme) = %{acme_version} |
76 |
Requires: python3dist(ndg-httpsclient) |
77 |
Requires: python3dist(pyasn1) |
78 |
|
79 |
%description |
80 |
Certbot, previously the Let's Encrypt Client, is EFF's tool to obtain certs |
81 |
from Let's Encrypt, and (optionally) auto-enable HTTPS on your server. |
82 |
It can also act as a client for any other CA that uses the ACME protocol. |
83 |
|
84 |
%package doc |
85 |
Summary: Documentation for Certbot |
86 |
Group: Development/Python |
87 |
BuildArch: noarch |
88 |
|
89 |
%description doc |
90 |
Certbot, previously the Let's Encrypt Client, is EFF's tool to obtain certs |
91 |
from Let's Encrypt, and (optionally) auto-enable HTTPS on your server. |
92 |
It can also act as a client for any other CA that uses the ACME protocol. |
93 |
|
94 |
This package contains Certbot documentation. |
95 |
|
96 |
%prep |
97 |
%autosetup -n %{name}-%{version} -p1 |
98 |
cd docs |
99 |
tar xzf %{SOURCE100} |
100 |
|
101 |
%build |
102 |
%py3_build |
103 |
|
104 |
# build documentation |
105 |
make \ |
106 |
SPHINXOPTS="-Dintersphinx_mapping.python='python.inv' -Dintersphinx_mapping.acme='acme-python.inv'" \ |
107 |
-C docs man html |
108 |
|
109 |
%install |
110 |
%py3_install |
111 |
# Put the man pages in place |
112 |
install -pD -t %{buildroot}%{_mandir}/man1 docs/_build/man/%{name}.1 |
113 |
install -pD -t %{buildroot}%{_mandir}/man7 docs/_build/man/%{name}.7 |
114 |
install -Dm 0644 %{SOURCE10} %{buildroot}%{_unitdir}/certbot-renew.service |
115 |
install -Dm 0644 %{SOURCE11} %{buildroot}%{_unitdir}/certbot-renew.timer |
116 |
install -Dm 0644 %{SOURCE12} %{buildroot}%{_sysconfdir}/sysconfig/certbot |
117 |
cp %{SOURCE13} README.urpmi |
118 |
|
119 |
#check |
120 |
#{__python3} setup.py test |
121 |
# Make sure the scripts use the expected python versions |
122 |
#grep -q %{__python3} %{buildroot}%{_bindir}/certbot |
123 |
|
124 |
%preun |
125 |
%systemd_preun certbot-renew.timer |
126 |
|
127 |
%files |
128 |
%license LICENSE.txt |
129 |
%doc README.rst CHANGELOG.md README.urpmi |
130 |
%{_bindir}/%{name} |
131 |
# project uses old letsencrypt dirs for compatibility |
132 |
%ghost %dir %{_sysconfdir}/%{oldpkg} |
133 |
%ghost %dir %{_sharedstatedir}/%{oldpkg} |
134 |
%ghost %dir %{_logdir}/%{oldpkg} |
135 |
%config %{_sysconfdir}/sysconfig/certbot |
136 |
%{_unitdir}/certbot-renew.service |
137 |
%{_unitdir}/certbot-renew.timer |
138 |
%{python3_sitelib}/%{name} |
139 |
%{python3_sitelib}/%{name}-%{version}*.egg-info |
140 |
%{_mandir}/man*/%{name}.* |
141 |
|
142 |
%files doc |
143 |
%doc docs/_build/html |