]> git.pld-linux.org Git - packages/cherokee.git/blob - cherokee.spec
737a2b279e6d956767cfa3491426460eb24f33fa
[packages/cherokee.git] / cherokee.spec
1 #
2 # TODO:
3 #   - think about moving modules to subpackages. At least, those with extra
4 #     dependencies.
5 #   - maybe there is no need to pack *.py (are *.pyc enough?)
6 #
7 # Conditional build:
8 %bcond_without  geoip           # without GeoIP support
9 %bcond_without  mysql           # without MySQL support
10 %bcond_without  ldap            # without LDAP support
11 %bcond_without  ffmpeg          # without ffmpeg support
12 #
13 Summary:        Fast, Flexible and Lightweight Web server
14 Summary(pl.UTF-8):      Cherokee - serwer WWW
15 Name:           cherokee
16 Version:        1.2.101
17 Release:        1
18 License:        GPL v2
19 Group:          Networking/Daemons
20 Source0:        http://www.cherokee-project.com/download/1.2/%{version}/%{name}-%{version}.tar.gz
21 # Source0-md5:  ef47003355a2e368e4d9596cd070ef23
22 Source1:        %{name}.init
23 Source2:        %{name}.sysconfig
24 Source3:        %{name}.upstart
25 Patch0:         %{name}-config.patch
26 Patch1:         %{name}-panic_path.patch
27 URL:            http://www.cherokee-project.com/
28 %{?with_geoip:BuildRequires:    GeoIP-devel}
29 BuildRequires:  autoconf
30 BuildRequires:  automake
31 %{?with_ffmpeg:BuildRequires:   ffmpeg-devel}
32 BuildRequires:  gettext-devel
33 BuildRequires:  libtool
34 %{?with_mysql:BuildRequires:    mysql-devel}
35 %{?with_ldap:BuildRequires:     openldap-devel}
36 BuildRequires:  openssl-devel
37 BuildRequires:  pam-devel
38 BuildRequires:  pcre-devel
39 BuildRequires:  php(fcgi)
40 BuildRequires:  pkgconfig
41 BuildRequires:  python-docutils
42 BuildRequires:  rpm-pythonprov
43 BuildRequires:  rpmbuild(macros) >= 1.561
44 BuildRequires:  zlib-devel
45 Requires(post,preun):   /sbin/chkconfig
46 Requires(postun):       /usr/sbin/groupdel
47 Requires(postun):       /usr/sbin/userdel
48 Requires(pre):  /bin/id
49 Requires(pre):  /usr/bin/getgid
50 Requires(pre):  /usr/sbin/groupadd
51 Requires(pre):  /usr/sbin/useradd
52 Requires:       %{name}-libs = %{version}-%{release}
53 Requires:       rc-scripts >= 0.4.3.0
54 Suggests:       %{name}-admin = %{version}-%{release}
55 Suggests:       php(fcgi)
56 Provides:       group(cherokee)
57 Provides:       group(http)
58 Provides:       user(cherokee)
59 Provides:       webserver
60 Provides:       webserver(indexfile)
61 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62
63 %define         _sysconfdir     /etc/cherokee
64 %define         _wwwhome        /home/services/%{name}
65 %define         _wwwroot        %{_wwwhome}/html
66
67 %description
68 Cherokee is a flexible, very fast, lightweight Web server. It is
69 implemented entirely in C, and has no dependencies beyond a standard C
70 library. It is embeddable and extensible with plug-ins. It supports
71 on-the-fly configuration by reading files or strings, TLS/SSL via
72 OpenSSL, virtual hosts, authentication, cache friendly features, PHP,
73 custom error management, and much more.
74
75 %description -l pl.UTF-8
76 Cherokee to elastyczny, bardzo szybki i lekki serwer WWW. Jest
77 zaimplementowany całkowicie w C i nie ma zależności poza standardową
78 biblioteką C. Jest osadzalny i rozbudowywalny poprzez wtyczki.
79 Obsługuje konfigurację w locie poprzez odczyt plików lub łańcuchów
80 znaków, TLS/SSL poprzez OpenSSL, hosty wirtualne, uwierzytelnianie,
81 opcje związane z pamięcią podręczną, PHP, własne zarządzanie błędami i
82 wiele więcej.
83
84 %package upstart
85 Summary:        Upstart job description for the Cherokee web server
86 Summary(pl.UTF-8):      Opis zadania Upstart dla serwera Cherokee
87 Group:          Daemons
88 Requires:       %{name} = %{version}-%{release}
89 Requires:       upstart >= 0.6
90
91 %description upstart
92 Upstart job description for the Cherokee web server.
93
94 %description upstart -l pl.UTF-8
95 Opis zadania Upstart dla serwera WWW Cherokee.
96
97 %package admin
98 Summary:        Cherokee web server administration interface
99 Summary(pl.UTF-8):      Interfejs administracyjny serwera WWW Cherokee
100 Group:          Networking/Daemons
101 Requires:       %{name} = %{version}-%{release}
102 Requires:       python
103 Requires:       python-modules
104
105 %description admin
106 Cherokee web server administration interface.
107
108 %description admin -l pl.UTF-8
109 Interfejs administracyjny serwera WWW Cherokee.
110
111 %package devel
112 Summary:        Header files for Cherokee web server
113 Summary(pl.UTF-8):      Pliki nagłówkowe dla serwera WWW Cherokee
114 Group:          Development/Libraries
115 Requires:       %{name}-libs = %{version}-%{release}
116
117 %description devel
118 Header files for Cherokee web server.
119
120 %description devel -l pl.UTF-8
121 Pliki nagłówkowe dla serwera WWW Cherokee.
122
123 %package libs
124 Summary:        Cherokee web server libraries
125 Summary(pl.UTF-8):      Biblioteki serwera WWW Cherokee
126 Group:          Libraries
127
128 %description libs
129 Cherokee web server libraries.
130
131 %description libs -l pl.UTF-8
132 Biblioteki serwera WWW Cherokee.
133
134 %prep
135 %setup -q
136 %patch0 -p1
137 %patch1 -p1
138
139 %build
140 %{__libtoolize}
141 %{__aclocal} -I m4
142 %{__autoconf}
143 %{__autoheader}
144 %{__automake}
145 %configure \
146         --with-php=/usr/bin/php.cgi \
147         --disable-static \
148         --enable-os-string="PLD Linux" \
149         --sysconfdir=/etc \
150         --with-wwwroot=%{_wwwroot} \
151         --with-wwwuser=cherokee \
152         --with-wwwgroup=http \
153         %{!?with_geoip:--without-geoip} \
154         %{!?with_mysql:--without-mysql} \
155         %{!?with_ffmpeg:--without-ffmpeg} \
156         %{!?with_ldap:--without-ldap}
157 %{__make}
158
159 %install
160 rm -rf $RPM_BUILD_ROOT
161 install -d $RPM_BUILD_ROOT{/etc/{init,pam.d,sysconfig,rc.d/init.d},/var/log/%{name}}
162
163 %{__make} -j1 install \
164         DESTDIR=$RPM_BUILD_ROOT
165
166 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
167 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
168 install %{SOURCE3} $RPM_BUILD_ROOT/etc/init/%{name}.conf
169
170 # users don't need this
171 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/cherokee-panic
172
173 # modules dlopened by *.so
174 rm -f $RPM_BUILD_ROOT%{_libdir}/cherokee/lib*.la
175
176 # unify manual dir
177 rm -rf html
178 mv $RPM_BUILD_ROOT%{_docdir}/%{name} html
179
180 # provided via %doc
181 rm $RPM_BUILD_ROOT/etc/cherokee/cherokee.conf.perf_sample
182
183 # compile python modules, otherwise *.pyc may get generated on runtime
184 # and stay after package removal
185 %py_comp $RPM_BUILD_ROOT%{_datadir}/cherokee/admin/
186
187 # seems like this is not needed on Linux
188 rm $RPM_BUILD_ROOT%{_bindir}/cherokee-macos-askpass
189
190 mv $RPM_BUILD_ROOT%{_localedir}/{sv_SE,sv}
191 %find_lang %{name}
192
193
194 %clean
195 rm -rf $RPM_BUILD_ROOT
196
197 %pre
198 %groupadd -g 161 cherokee
199 %groupadd -g 51 http
200 %useradd -u 161 -d %{_wwwhome} -c "Cherokee User" -g cherokee cherokee
201 %addusertogroup cherokee http
202
203 %post
204 /sbin/chkconfig --add %{name}
205 %service %{name} restart "Cherokee webserver"
206 exit 0
207
208 %preun
209 if [ "$1" = "0" ]; then
210         %service %{name} stop
211         /sbin/chkconfig --del %{name}
212 fi
213
214 %postun
215 if [ "$1" = "0" ]; then
216         %userremove cherokee
217         %groupremove cherokee
218         %groupremove http
219 fi
220
221 %post upstart
222 %upstart_post %{name}
223
224 %postun upstart
225 %upstart_postun %{name}
226
227 %post   libs -p /sbin/ldconfig
228 %postun libs -p /sbin/ldconfig
229
230 %files
231 %defattr(644,root,root,755)
232 %doc AUTHORS ChangeLog html performance.conf.sample
233 %dir %attr(750,root,root) %{_sysconfdir}
234 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cherokee.conf
235
236 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cherokee
237 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cherokee
238 %attr(754,root,root) /etc/rc.d/init.d/cherokee
239
240 %attr(755,root,root) %{_bindir}/CTK-run
241 %attr(755,root,root) %{_bindir}/cget
242 %attr(755,root,root) %{_bindir}/cherokee-tweak
243 %attr(755,root,root) %{_sbindir}/cherokee
244 %attr(755,root,root) %{_sbindir}/cherokee-panic
245 %attr(755,root,root) %{_sbindir}/cherokee-worker
246
247 %dir %{_libdir}/cherokee
248 %attr(755,root,root) %{_libdir}/cherokee/libplugin_admin.so
249 %attr(755,root,root) %{_libdir}/cherokee/libplugin_and.so
250 %attr(755,root,root) %{_libdir}/cherokee/libplugin_authlist.so
251 %attr(755,root,root) %{_libdir}/cherokee/libplugin_bind.so
252 %attr(755,root,root) %{_libdir}/cherokee/libplugin_cgi.so
253 %attr(755,root,root) %{_libdir}/cherokee/libplugin_combined.so
254 %attr(755,root,root) %{_libdir}/cherokee/libplugin_common.so
255 %attr(755,root,root) %{_libdir}/cherokee/libplugin_custom_error.so
256 %attr(755,root,root) %{_libdir}/cherokee/libplugin_custom.so
257 %{?with_mysql:%attr(755,root,root) %{_libdir}/cherokee/libplugin_dbslayer.so}
258 %attr(755,root,root) %{_libdir}/cherokee/libplugin_deflate.so
259 %attr(755,root,root) %{_libdir}/cherokee/libplugin_directory.so
260 %attr(755,root,root) %{_libdir}/cherokee/libplugin_dirlist.so
261 %attr(755,root,root) %{_libdir}/cherokee/libplugin_drop.so
262 %attr(755,root,root) %{_libdir}/cherokee/libplugin_empty_gif.so
263 %attr(755,root,root) %{_libdir}/cherokee/libplugin_error_nn.so
264 %attr(755,root,root) %{_libdir}/cherokee/libplugin_error_redir.so
265 %attr(755,root,root) %{_libdir}/cherokee/libplugin_evhost.so
266 %attr(755,root,root) %{_libdir}/cherokee/libplugin_exists.so
267 %attr(755,root,root) %{_libdir}/cherokee/libplugin_extensions.so
268 %attr(755,root,root) %{_libdir}/cherokee/libplugin_failover.so
269 %attr(755,root,root) %{_libdir}/cherokee/libplugin_fcgi.so
270 %attr(755,root,root) %{_libdir}/cherokee/libplugin_file.so
271 %attr(755,root,root) %{_libdir}/cherokee/libplugin_from.so
272 %attr(755,root,root) %{_libdir}/cherokee/libplugin_fullpath.so
273 %{?with_geoip:%attr(755,root,root) %{_libdir}/cherokee/libplugin_geoip.so}
274 %attr(755,root,root) %{_libdir}/cherokee/libplugin_gzip.so
275 %attr(755,root,root) %{_libdir}/cherokee/libplugin_header.so
276 %attr(755,root,root) %{_libdir}/cherokee/libplugin_htdigest.so
277 %attr(755,root,root) %{_libdir}/cherokee/libplugin_htpasswd.so
278 %attr(755,root,root) %{_libdir}/cherokee/libplugin_ip_hash.so
279 %{?with_ldap:%attr(755,root,root) %{_libdir}/cherokee/libplugin_ldap.so}
280 %attr(755,root,root) %{_libdir}/cherokee/libplugin_libssl.so
281 %attr(755,root,root) %{_libdir}/cherokee/libplugin_method.so
282 %{?with_mysql:%attr(755,root,root) %{_libdir}/cherokee/libplugin_mysql.so}
283 %attr(755,root,root) %{_libdir}/cherokee/libplugin_ncsa.so
284 %attr(755,root,root) %{_libdir}/cherokee/libplugin_not.so
285 %attr(755,root,root) %{_libdir}/cherokee/libplugin_or.so
286 %attr(755,root,root) %{_libdir}/cherokee/libplugin_pam.so
287 %attr(755,root,root) %{_libdir}/cherokee/libplugin_plain.so
288 %attr(755,root,root) %{_libdir}/cherokee/libplugin_post_report.so
289 %attr(755,root,root) %{_libdir}/cherokee/libplugin_post_track.so
290 %attr(755,root,root) %{_libdir}/cherokee/libplugin_proxy.so
291 %attr(755,root,root) %{_libdir}/cherokee/libplugin_redir.so
292 %attr(755,root,root) %{_libdir}/cherokee/libplugin_rehost.so
293 %attr(755,root,root) %{_libdir}/cherokee/libplugin_render_rrd.so
294 %attr(755,root,root) %{_libdir}/cherokee/libplugin_request.so
295 %attr(755,root,root) %{_libdir}/cherokee/libplugin_round_robin.so
296 %attr(755,root,root) %{_libdir}/cherokee/libplugin_rrd.so
297 %attr(755,root,root) %{_libdir}/cherokee/libplugin_scgi.so
298 %attr(755,root,root) %{_libdir}/cherokee/libplugin_secdownload.so
299 %attr(755,root,root) %{_libdir}/cherokee/libplugin_server_info.so
300 %attr(755,root,root) %{_libdir}/cherokee/libplugin_ssi.so
301 %if %{with ffmpeg}
302 %attr(755,root,root) %{_libdir}/cherokee/libplugin_streaming.so
303 %endif
304 %attr(755,root,root) %{_libdir}/cherokee/libplugin_target_ip.so
305 %attr(755,root,root) %{_libdir}/cherokee/libplugin_tls.so
306 %attr(755,root,root) %{_libdir}/cherokee/libplugin_url_arg.so
307 %attr(755,root,root) %{_libdir}/cherokee/libplugin_uwsgi.so
308 %attr(755,root,root) %{_libdir}/cherokee/libplugin_v_or.so
309 %attr(755,root,root) %{_libdir}/cherokee/libplugin_wildcard.so
310
311 %{_mandir}/man1/cget.1*
312 %{_mandir}/man1/cherokee.1*
313 %{_mandir}/man1/cherokee-tweak.1*
314 %{_mandir}/man1/cherokee-worker.1*
315
316 %dir %{_datadir}/cherokee
317 %{_datadir}/cherokee/deps
318 %{_datadir}/cherokee/icons
319 %{_datadir}/cherokee/themes
320
321 %dir %{_wwwhome}
322 %dir %{_wwwroot}
323 %config(missingok) %{_wwwroot}/*
324
325 %dir %attr(750,cherokee,logs) /var/log/%{name}
326
327 %dir %attr(771,root,cherokee) /var/lib/%{name}
328 %dir %attr(771,cherokee,cherokee) /var/lib/%{name}/graphs
329 %dir %attr(771,cherokee,cherokee) /var/lib/%{name}/graphs/images
330
331 %files upstart
332 %defattr(644,root,root,755)
333 %config(noreplace) %verify(not md5 mtime size) /etc/init/%{name}.conf
334
335 %files admin -f %{name}.lang
336 %defattr(644,root,root,755)
337 %attr(755,root,root) %{_sbindir}/cherokee-admin
338 %attr(755,root,root) %{_bindir}/cherokee-admin-launcher
339 %{_mandir}/man1/cherokee-admin.1*
340 %{_mandir}/man1/cherokee-admin-launcher.1*
341 %dir %{_datadir}/cherokee/admin
342 %{_datadir}/cherokee/admin/cherokee.conf.sample
343 %{_datadir}/cherokee/admin/performance.conf.sample
344 %{_datadir}/cherokee/admin/*.html
345 %attr(755,root,root) %{_datadir}/cherokee/admin/*.py
346 %{_datadir}/cherokee/admin/*.pyc
347 %{_datadir}/cherokee/admin/static
348 %dir %{_datadir}/cherokee/admin/CTK
349 %dir %{_datadir}/cherokee/admin/CTK/CTK
350 %{_datadir}/cherokee/admin/CTK/CTK/*.py
351 %{_datadir}/cherokee/admin/CTK/CTK/*.pyc
352 %{_datadir}/cherokee/admin/CTK/static
353 %dir %{_datadir}/cherokee/admin/plugins
354 %{_datadir}/cherokee/admin/plugins/*.py
355 %{_datadir}/cherokee/admin/plugins/*.pyc
356 %dir %{_datadir}/cherokee/admin/wizards
357 %{_datadir}/cherokee/admin/wizards/*.py
358 %{_datadir}/cherokee/admin/wizards/*.pyc
359 %dir %{_datadir}/cherokee/admin/market
360 %{_datadir}/cherokee/admin/market/*.py
361 %{_datadir}/cherokee/admin/market/*.pyc
362 %dir %{_datadir}/cherokee/admin/icons
363 %{_datadir}/cherokee/admin/icons/*.png
364 %{_datadir}/cherokee/admin/icons/*.svg
365
366 %files libs
367 %defattr(644,root,root,755)
368 %attr(755,root,root) %{_libdir}/libcherokee-base.so.*.*.*
369 %attr(755,root,root) %ghost %{_libdir}/libcherokee-base.so.0
370 %attr(755,root,root) %{_libdir}/libcherokee-client.so.*.*.*
371 %attr(755,root,root) %ghost %{_libdir}/libcherokee-client.so.0
372 %attr(755,root,root) %{_libdir}/libcherokee-server.so.*.*.*
373 %attr(755,root,root) %ghost %{_libdir}/libcherokee-server.so.0
374
375 %files devel
376 %defattr(644,root,root,755)
377 %attr(755,root,root) %{_bindir}/cherokee-config
378 %attr(755,root,root) %{_libdir}/libcherokee-base.so
379 %attr(755,root,root) %{_libdir}/libcherokee-client.so
380 %attr(755,root,root) %{_libdir}/libcherokee-server.so
381 %{_libdir}/libcherokee-base.la
382 %{_libdir}/libcherokee-client.la
383 %{_libdir}/libcherokee-server.la
384 %{_includedir}/cherokee
385 %{_pkgconfigdir}/cherokee.pc
386 %{_aclocaldir}/cherokee.m4
387 %{_mandir}/man1/cherokee-config.1*
This page took 0.10319 seconds and 3 git commands to generate.