]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
2 | # 1) make mod_python3 use it's own set of config directives | |
3 | # 2) test if both flavors can be loaded at the same time | |
4 | # 3) after 1 and 2 are done, drop conflicts | |
5 | # | |
6 | # Conditional build: | |
7 | %bcond_without python2 # CPython 2.x module | |
8 | %bcond_without python3 # CPython 3.x module | |
9 | ||
10 | %define mod_name python | |
11 | %define apxs /usr/sbin/apxs | |
12 | Summary: An embedded Python interpreter for the Apache Web server | |
13 | Summary(cs.UTF-8): Vestavěný interpret Pythonu pro WWW server Apache | |
14 | Summary(de.UTF-8): Ein eingebetteter Python-Interpreter für den Apache Web-Server | |
15 | Summary(es.UTF-8): Intérprete Python para el servidor Web Apache | |
16 | Summary(fr.UTF-8): Interpréteur Python intégré pour le serveur Web Apache | |
17 | Summary(it.UTF-8): Interprete Python integrato per il server Web Apache | |
18 | Summary(ja.UTF-8): Apache Web サーバー用の組込み Python インタープリタ | |
19 | Summary(pl.UTF-8): Wbudowany interpreter języka Python dla serwera WWW Apache | |
20 | Summary(sv.UTF-8): En inbyggd Python-interpretator för webbservern Apache | |
21 | Name: apache-mod_%{mod_name} | |
22 | Version: 3.5.0 | |
23 | Release: 5 | |
24 | License: Apache | |
25 | Group: Networking/Daemons/HTTP | |
26 | Source0: http://dist.modpython.org/dist/mod_%{mod_name}-%{version}.tgz | |
27 | # Source0-md5: 2e61621e8d030f535f112d8e739161e2 | |
28 | Source1: %{name}.conf | |
29 | Source2: %{name}3.conf | |
30 | Patch0: %{name}-httpd-not-needed.patch | |
31 | Patch1: no-git.patch | |
32 | Patch2: set-request-response-status.patch | |
33 | URL: http://www.modpython.org/ | |
34 | BuildRequires: apache-devel >= 2.0.52-7 | |
35 | BuildRequires: apr-devel >= 1:1.0.0 | |
36 | BuildRequires: autoconf | |
37 | BuildRequires: automake | |
38 | BuildRequires: flex >= 2.5.31 | |
39 | BuildRequires: rpm-pythonprov | |
40 | BuildRequires: rpmbuild(macros) >= 1.671 | |
41 | %if %{with python2} | |
42 | BuildRequires: python | |
43 | BuildRequires: python-devel >= 2.6 | |
44 | %endif | |
45 | %if %{with python3} | |
46 | BuildRequires: python3 | |
47 | BuildRequires: python3-devel >= 3.3 | |
48 | %endif | |
49 | Requires(post,preun,postun): systemd-units >= 38 | |
50 | Requires(post,preun): /sbin/chkconfig | |
51 | Requires: rc-scripts | |
52 | Requires: apache(modules-api) = %apache_modules_api | |
53 | Requires: apr >= 1:1.0.0 | |
54 | # apache.py uses pdb module | |
55 | Requires: python-devel-tools | |
56 | %requires_eq python-libs | |
57 | Requires: systemd-units >= 38 | |
58 | Conflicts: apache-mod_python3 | |
59 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
60 | ||
61 | %define apachelibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null) | |
62 | %define apacheconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d | |
63 | ||
64 | %description | |
65 | Mod_python is a module that embeds the Python language interpreter | |
66 | within the server, allowing Apache handlers to be written in Python. | |
67 | ||
68 | Mod_python brings together the versatility of Python and the power of | |
69 | the Apache Web server for a considerable boost in flexibility and | |
70 | performance over the traditional CGI approach. | |
71 | ||
72 | %description -l cs.UTF-8 | |
73 | Balíček mod_python obsahuje modul, který umožní serveru Apache přímo | |
74 | interpretovat CGI skripty napsané v jazyce Python. To vede k výraznému | |
75 | zvýšení rychlosti jejich provedení. | |
76 | ||
77 | %description -l de.UTF-8 | |
78 | Mod_python ist ein Modul, das den Python-Sprachinterpreter innerhalb | |
79 | des Servers einbettet und es den Apache-Handlern ermöglicht, in Python | |
80 | geschrieben zu werden. | |
81 | ||
82 | Mod_python verbindet die Vielseitigkeit von Python und die | |
83 | Leistungsstärke des Apache Web-Servers, was eine enorme Steigerung der | |
84 | Flexibilität und Leistung gegenüber dem traditionellen CGI-Ansatz | |
85 | bedeutet. | |
86 | ||
87 | %description -l es.UTF-8 | |
88 | Mod_python es un módulo que activa el intérprete de Python en el | |
89 | servidor, permitiendo que se escriban gestores para Apache en Python. | |
90 | ||
91 | Mod_python proporciona la versatilidad y el poder del servidor web | |
92 | Apache para acelerar considerablemente la flexibilidad y prestaciones | |
93 | en comparación a una aproximación tradicional con CGI. | |
94 | ||
95 | %description -l fr.UTF-8 | |
96 | Mod_python est un module qui intègre l'interpréteur de langage Python | |
97 | dans le serveur, permettant aux gestionnaires Apache d'être écrits en | |
98 | Python. | |
99 | ||
100 | Mod_python conjugue la versatilité de Python et la puissance du | |
101 | serveur Web Apache de façon à augmenter considérablement la | |
102 | flexibilité et la performance par rapport à une approche CGI | |
103 | traditionnelle. | |
104 | ||
105 | %description -l it.UTF-8 | |
106 | Mod_python è un modulo che integra nel server l'interprete del | |
107 | linguaggio Python, in modo che i programmi di gestione possano essere | |
108 | scritti in Python. | |
109 | ||
110 | Mod_python unisce in sé la versatilità di Python e la potenza del | |
111 | server Web Apache, con un conseguente accrescimento di flessibilità e | |
112 | un miglioramento notevole nelle prestazioni rispetto all'approccio | |
113 | tradizionale CGI. | |
114 | ||
115 | %description -l ja.UTF-8 | |
116 | Mod_python はサーバー内に Python | |
117 | 言語インタープリタを組み込んだモジュール です。これにより、Apache | |
118 | ハンドラを Python で記述できます。 Mod_python は、Python の汎用性と | |
119 | Apache Web サーバーのパワーを組み合わせる ことにより、従来の CGI | |
120 | アプローチから柔軟性とパフォーマンスを大幅に向上させます。 | |
121 | ||
122 | %description -l pl.UTF-8 | |
123 | mod_python jest modułem osadzającym interpreter języka Python w | |
124 | serwerze WWW Apache, umożliwiając mu obsługę kodu napisanego w | |
125 | Pythonie. | |
126 | ||
127 | mod_python łączy wszechstronność Pythona i moc Apache'a jako serwera | |
128 | WWW, co daje zwiększoną elastyczność i zauważalną poprawę wydajności w | |
129 | stosunku do tradycyjnego rozwiązania opartego na CGI. | |
130 | ||
131 | %description -l sv.UTF-8 | |
132 | Mod_python är en modul som bygger in en interpretator för språket | |
133 | Python i servern, och låter Apach-hanterare skrivas i Python. | |
134 | ||
135 | Mod_python sammanför mångsidigheten hos Python och kraften hos | |
136 | webbservern Apache till en avsevärd ökning av flexibiliteten och | |
137 | prestandan jämfört med den traditionella CGI-metoden. | |
138 | ||
139 | %package -n apache-mod_python3 | |
140 | Summary: An embedded Python 3 interpreter for the Apache Web server | |
141 | Summary(cs.UTF-8): Vestavěný interpret Pythonu 3 pro WWW server Apache | |
142 | Summary(de.UTF-8): Ein eingebetteter Python3-Interpreter für den Apache Web-Server | |
143 | Summary(es.UTF-8): Intérprete Python 3 para el servidor Web Apache | |
144 | Summary(fr.UTF-8): Interpréteur Python 3 intégré pour le serveur Web Apache | |
145 | Summary(it.UTF-8): Interprete Python 3 integrato per il server Web Apache | |
146 | Summary(ja.UTF-8): Apache Web サーバー用の組込み Python 3 インタープリタ | |
147 | Summary(pl.UTF-8): Wbudowany interpreter języka Python 3 dla serwera WWW Apache | |
148 | Summary(sv.UTF-8): En inbyggd Python3-interpretator för webbservern Apache | |
149 | Group: Networking/Daemons/HTTP | |
150 | Requires(post,preun,postun): systemd-units >= 38 | |
151 | Requires(post,preun): /sbin/chkconfig | |
152 | Requires: rc-scripts | |
153 | Requires: apache(modules-api) = %apache_modules_api | |
154 | Requires: apr >= 1:1.0.0 | |
155 | # apache.py uses pdb module | |
156 | Requires: python3-devel-tools | |
157 | %requires_eq python3-libs | |
158 | Requires: systemd-units >= 38 | |
159 | Conflicts: apache-mod_python | |
160 | ||
161 | %description -n apache-mod_python3 | |
162 | mod_python3 is a module that embeds the Python 3 language interpreter | |
163 | within the server, allowing Apache handlers to be written in Python 3. | |
164 | ||
165 | mod_python3 brings together the versatility of Python 3 and the power | |
166 | of the Apache Web server for a considerable boost in flexibility and | |
167 | performance over the traditional CGI approach. | |
168 | ||
169 | %description -n apache-mod_python3 -l cs.UTF-8 | |
170 | Balíček mod_python3 obsahuje modul, který umožní serveru Apache přímo | |
171 | interpretovat CGI skripty napsané v jazyce Python 3. To vede k | |
172 | výraznému zvýšení rychlosti jejich provedení. | |
173 | ||
174 | %description -n apache-mod_python3 -l de.UTF-8 | |
175 | mod_python3 ist ein Modul, das den Python3-Sprachinterpreter innerhalb | |
176 | des Servers einbettet und es den Apache-Handlern ermöglicht, | |
177 | in Python 3 geschrieben zu werden. | |
178 | ||
179 | mod_python3 verbindet die Vielseitigkeit von Python 3 und die | |
180 | Leistungsstärke des Apache Web-Servers, was eine enorme Steigerung der | |
181 | Flexibilität und Leistung gegenüber dem traditionellen CGI-Ansatz | |
182 | bedeutet. | |
183 | ||
184 | %description -n apache-mod_python3 -l es.UTF-8 | |
185 | mod_python3 es un módulo que activa el intérprete de Python 3 en el | |
186 | servidor, permitiendo que se escriban gestores para Apache en | |
187 | Python 3. | |
188 | ||
189 | mod_python3 proporciona la versatilidad y el poder del servidor web | |
190 | Apache para acelerar considerablemente la flexibilidad y prestaciones | |
191 | en comparación a una aproximación tradicional con CGI. | |
192 | ||
193 | %description -n apache-mod_python3 -l fr.UTF-8 | |
194 | mod_python3 est un module qui intègre l'interpréteur de langage | |
195 | Python 3 dans le serveur, permettant aux gestionnaires Apache d'être | |
196 | écrits en Python 3. | |
197 | ||
198 | mod_python3 conjugue la versatilité de Python 3 et la puissance du | |
199 | serveur Web Apache de façon à augmenter considérablement la | |
200 | flexibilité et la performance par rapport à une approche CGI | |
201 | traditionnelle. | |
202 | ||
203 | %description -n apache-mod_python3 -l it.UTF-8 | |
204 | mod_python3 è un modulo che integra nel server l'interprete del | |
205 | linguaggio Python 3, in modo che i programmi di gestione possano | |
206 | essere scritti in Python 3. | |
207 | ||
208 | mod_python3 unisce in sé la versatilità di Python 3 e la potenza del | |
209 | server Web Apache, con un conseguente accrescimento di flessibilità e | |
210 | un miglioramento notevole nelle prestazioni rispetto all'approccio | |
211 | tradizionale CGI. | |
212 | ||
213 | %description -n apache-mod_python3 -l ja.UTF-8 | |
214 | mod_python3 はサーバー内に Python 3 | |
215 | 言語インタープリタを組み込んだモジュール です。これにより、Apache | |
216 | ハンドラを Python 3 で記述できます。 mod_python3 は、Python 3 | |
217 | の汎用性と Apache Web サーバーのパワーを組み合わせる ことにより、 | |
218 | 従来の CGI アプローチから柔軟性とパフォーマンスを大幅に向上させます。 | |
219 | ||
220 | %description -n apache-mod_python3 -l pl.UTF-8 | |
221 | mod_python3 jest modułem osadzającym interpreter języka Python 3 w | |
222 | serwerze WWW Apache, umożliwiając mu obsługę kodu napisanego w | |
223 | Pythonie 3. | |
224 | ||
225 | mod_python3 łączy wszechstronność Pythona 3 i moc Apache'a jako | |
226 | serwera WWW, co daje zwiększoną elastyczność i zauważalną poprawę | |
227 | wydajności w stosunku do tradycyjnego rozwiązania opartego na CGI. | |
228 | ||
229 | %description -n apache-mod_python3 -l sv.UTF-8 | |
230 | mod_python3 är en modul som bygger in en interpretator för språket | |
231 | Python 3 i servern, och låter Apach-hanterare skrivas i Python 3. | |
232 | ||
233 | mod_python3 sammanför mångsidigheten hos Python 3 och kraften hos | |
234 | webbservern Apache till en avsevärd ökning av flexibiliteten och | |
235 | prestandan jämfört med den traditionella CGI-metoden. | |
236 | ||
237 | %prep | |
238 | %setup -q -n mod_%{mod_name}-%{version} | |
239 | %patch0 -p1 | |
240 | %patch1 -p1 | |
241 | %patch2 -p1 | |
242 | ||
243 | %build | |
244 | %{__aclocal} | |
245 | %{__autoconf} | |
246 | ||
247 | %if %{with python2} | |
248 | %configure \ | |
249 | --with-apxs=%{apxs} \ | |
250 | --with-python=%{__python} | |
251 | ||
252 | %{__make} clean | |
253 | %{__make} dso | |
254 | install -d apache-mod_python{%{apachelibdir},%{apacheconfdir},%{_bindir}} | |
255 | %{__make} install \ | |
256 | DESTDIR=`pwd`/apache-mod_python | |
257 | %endif | |
258 | ||
259 | %if %{with python3} | |
260 | %configure \ | |
261 | --with-apxs=%{apxs} \ | |
262 | --with-python=%{__python3} | |
263 | ||
264 | %{__make} clean | |
265 | %{__make} dso | |
266 | install -d apache-mod_python3{%{apachelibdir},%{apacheconfdir},%{_bindir}} | |
267 | %{__make} install \ | |
268 | DESTDIR=`pwd`/apache-mod_python3 | |
269 | %{__mv} apache-mod_python3%{_bindir}/mod_python{,3} | |
270 | %{__mv} apache-mod_python3%{apachelibdir}/mod_python{,3}.so | |
271 | %endif | |
272 | ||
273 | %install | |
274 | rm -rf $RPM_BUILD_ROOT | |
275 | install -d $RPM_BUILD_ROOT{%{apachelibdir},%{apacheconfdir},%{_bindir}} | |
276 | ||
277 | %if %{with python2} | |
278 | cp -a apache-mod_python/* $RPM_BUILD_ROOT | |
279 | install %{SOURCE1} $RPM_BUILD_ROOT%{apacheconfdir}/60_mod_python.conf | |
280 | %endif | |
281 | ||
282 | %if %{with python3} | |
283 | cp -a apache-mod_python3/* $RPM_BUILD_ROOT | |
284 | install %{SOURCE2} $RPM_BUILD_ROOT%{apacheconfdir}/60_mod_python3.conf | |
285 | %endif | |
286 | ||
287 | %py_postclean | |
288 | ||
289 | %clean | |
290 | rm -rf $RPM_BUILD_ROOT | |
291 | ||
292 | %post | |
293 | %service -q httpd restart | |
294 | %systemd_service_restart httpd.service | |
295 | ||
296 | %postun | |
297 | if [ "$1" = "0" ]; then | |
298 | %service -q httpd restart | |
299 | %systemd_service_restart httpd.service | |
300 | fi | |
301 | ||
302 | %post -n apache-mod_python3 | |
303 | %service -q httpd restart | |
304 | %systemd_service_restart httpd.service | |
305 | ||
306 | %postun -n apache-mod_python3 | |
307 | if [ "$1" = "0" ]; then | |
308 | %service -q httpd restart | |
309 | %systemd_service_restart httpd.service | |
310 | fi | |
311 | ||
312 | %if %{with python2} | |
313 | %files | |
314 | %defattr(644,root,root,755) | |
315 | %doc doc-html/* README.md COPYRIGHT NEWS CREDITS | |
316 | %doc examples | |
317 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_%{mod_name}.conf | |
318 | %attr(755,root,root) %{_bindir}/mod_python | |
319 | %attr(755,root,root) %{apachelibdir}/mod_python.so | |
320 | %dir %{py_sitedir}/mod_%{mod_name} | |
321 | %{py_sitedir}/mod_%{mod_name}-*.egg-info | |
322 | %attr(755,root,root) %{py_sitedir}/mod_%{mod_name}/*.so | |
323 | %{py_sitedir}/mod_%{mod_name}/*.py[co] | |
324 | %endif | |
325 | ||
326 | %if %{with python3} | |
327 | %files -n apache-mod_python3 | |
328 | %defattr(644,root,root,755) | |
329 | %doc doc-html/* README.md COPYRIGHT NEWS CREDITS | |
330 | %doc examples | |
331 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{apacheconfdir}/*_mod_%{mod_name}3.conf | |
332 | %attr(755,root,root) %{_bindir}/mod_python3 | |
333 | %attr(755,root,root) %{apachelibdir}/mod_python3.so | |
334 | %dir %{py3_sitedir}/mod_%{mod_name} | |
335 | %{py3_sitedir}/mod_%{mod_name}-*.egg-info | |
336 | %attr(755,root,root) %{py3_sitedir}/mod_%{mod_name}/*.so | |
337 | %{py3_sitedir}/mod_%{mod_name}/__pycache__ | |
338 | %{py3_sitedir}/mod_%{mod_name}/*.py | |
339 | %endif |