]> git.pld-linux.org Git - packages/lighttpd.git/blob - lighttpd.spec
- added proxy error handler
[packages/lighttpd.git] / lighttpd.spec
1 #
2 # TODO
3 # - test ldap and mysql (failed at this time)
4 # - documentroot specified in config doesn't exist
5 # - mysql issue: http://www.freebsd.org/cgi/query-pr.cgi?pr=76866
6 #
7 # Conditional build for lighttpd:
8 %bcond_without  xattr           # without support of extended attributes
9 %bcond_without  ipv6            # IPv4-only version (doesn't require IPv6 in kernel)
10 %bcond_without  largefile       # without largefile support
11                                 # use it if you have 2.4 kernel to get sendfile() support,
12                                 # and don't need > 2GB file requests,
13                                 # see http://article.gmane.org/gmane.comp.web.lighttpd:722
14 %bcond_without  ssl             # disable ssl support
15 %bcond_with     mysql           # with mysql
16 %bcond_with     ldap            # with ldap
17 %bcond_with     valgrind        # enable valgrind fixes in code.
18 %bcond_with     dirhide         # with 'hide from dirlisting' hack 
19 #
20 # Prerelease snapshot: DATE-TIME
21 ##define _snap 20050116-1743
22
23 %if 0%{?_snap}
24 %define _source http://www.lighttpd.net/download/%{name}-%{version}-%{_snap}.tar.gz
25 %else
26 %define _source http://www.lighttpd.net/download/%{name}-%{version}.tar.gz
27 %endif
28
29 %define         _rel 3
30
31 Summary:        Fast and light HTTP server
32 Summary(pl):    Szybki i lekki serwer HTTP
33 Name:           lighttpd
34 Version:        1.3.13
35 Release:        %{_rel}%{?_snap:.%(echo %{_snap}|tr - _)}
36 Group:          Networking/Daemons
37 License:        BSD
38 Source0:        %{_source}
39 # Source0-md5:  2f017b936be376ad6f6c2ee26db93467
40 Source1:        %{name}.init
41 Source2:        %{name}.conf
42 Source3:        %{name}.user
43 Source4:        %{name}.logrotate
44 Source5:        %{name}.sysconfig
45 Patch0:         http://minghetti.ch/blob/dirlist-hide.patch
46 Patch1:         lighttpd-fcgi-verbose.patch
47 Patch2:         lighttpd-proxy-error-handler.patch
48 URL:            http://www.lighttpd.net/
49 BuildRequires:  autoconf
50 BuildRequires:  automake
51 BuildRequires:  bzip2-devel
52 BuildRequires:  libtool
53 %{?with_ssl:BuildRequires:      openssl-devel}
54 BuildRequires:  pcre-devel
55 BuildRequires:  rpmbuild(macros) >= 1.159
56 BuildRequires:  zlib-devel
57 %if %{with xattr}
58 BuildRequires:  attr-devel
59 %endif
60 %{?with_ldap:BuildRequires:     openldap-devel}
61 %{?with_mysql:BuildRequires:    mysql-devel}
62 %{?with_valgrind:BuildRequires: valgrind}
63 PreReq:         rc-scripts
64 Requires(pre):  sh-utils
65 Requires(pre):  /bin/id
66 Requires(pre):  /usr/bin/getgid
67 Requires(pre):  /usr/sbin/groupadd
68 Requires(pre):  /usr/sbin/useradd
69 Requires(post,preun):   /sbin/chkconfig
70 Requires(postun):       /usr/sbin/groupdel
71 Requires(postun):       /usr/sbin/userdel
72 Provides:       group(lighttpd)
73 Provides:       httpd
74 Provides:       user(lighttpd)
75 Provides:       webserver
76 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77
78 %define         _libdir         %{_prefix}/%{_lib}/%{name}
79 %define         _lighttpddir    /home/services/%{name}
80 %define         _sysconfdir     /etc/%{name}
81
82 %description
83 lighttpd is a secure, fast, compliant and very flexible web-server
84 which has been optimized for high-performance environments. It has a
85 very low memory footprint compared to other webservers and takes care
86 of cpu-load. Its advanced feature-set (FastCGI, CGI, Auth,
87 Output-Compression, URL-Rewriting and many more) make lighttpd the
88 perfect webserver-software for every server that is suffering load
89 problems.
90
91 %description -l pl
92 lighttpd jest bezpiecznym, szybkim, przyjaznym i bardzo elastycznym
93 serwerem WWW, który zosta³ zoptymalizowany pod k±tem
94 wysokowydajno¶ciowych ¶rodowisk. Zajmuje bardzo ma³± ilo¶æ pamiêci w
95 porównaniu do innych serwerów WWW oraz dba o zajêto¶æ procesora.
96 Szeroki zestaw opcji (FastCGI, CGI, uwierzytelnianie, kompresja
97 wyj¶cia, przepisywanie URL-i i wiele innych) czyni± z lighttpd
98 doskona³e oprogramowanie web-serwerowe na ka¿dy serwer cierpi±cy z
99 powodu problemów z obci±¿eniem.
100
101 %package -n spawn-fcgi
102 Summary:        Spawn fcgi-process directly
103 Summary(pl):    Bezpo¶rednie uruchamianie procesów fcgi
104 Group:          Applications
105
106 %description -n spawn-fcgi
107 spawn-fcgi is used to spawn fcgi-process directly without the help of
108 a webserver or the programm itself.
109
110 %description -n spawn-fcgi -l pl
111 spawn-fcgi s³u¿y do uruchamiania procesów fcgi bezpo¶rednio, bez
112 pomocy serwera WWW ani samego programu.
113
114 %prep
115 %setup -q
116 %{?with_dirhide:%patch0 -p0}
117 %patch1 -p1
118 %patch2 -p1
119
120 %build
121 %{__libtoolize}
122 %{__aclocal}
123 %{__autoconf}
124 %configure \
125         %{?with_valgrind:--with-valgrind} \
126         %{?with_xattr:--with-attr} \
127         %{?with_mysql:--with-mysql} \
128         %{?with_ldap:--with-ldap} \
129         %{!?with_ipv6:--disable-ipv6} \
130         %{!?with_largefile:--disable-lfs} \
131         %{?with_ssl:--with-openssl}
132
133 %{__make}
134
135 %install
136 rm -rf $RPM_BUILD_ROOT
137 install -d $RPM_BUILD_ROOT{%{_lighttpddir}/{cgi-bin,html},/etc/{logrotate.d,rc.d/init.d,sysconfig},%{_sysconfdir}} \
138         $RPM_BUILD_ROOT/var/log/{%{name},archiv/%{name}}
139
140 %{__make} install \
141         DESTDIR=$RPM_BUILD_ROOT
142
143 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
144 install %{SOURCE2} %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}
145 install %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
146 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
147
148 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
149
150 # could use automake patch, but automake generation fails...
151 mv $RPM_BUILD_ROOT%{_bindir}/spawn-fcgi $RPM_BUILD_ROOT%{_sbindir}/spawn-fcgi
152
153 %clean
154 rm -rf $RPM_BUILD_ROOT
155
156 %pre
157 if [ -n "`/usr/bin/getgid lighttpd`" ]; then
158         if [ "`/usr/bin/getgid lighttpd`" != 109 ]; then
159                 echo "Error: group lighttpd doesn't have gid=109. Correct this before installing %{name}." 1>&2
160                 exit 1
161         fi
162 else
163         /usr/sbin/groupadd -g 109 lighttpd
164 fi
165 if [ -n "`/bin/id -u lighttpd 2>/dev/null`" ]; then
166         if [ "`/bin/id -u lighttpd`" != 116 ]; then
167                 echo "Error: user lighttpd doesn't have uid=116. Correct this before installing %{name}." 1>&2
168                 exit 1
169         fi
170 else
171         /usr/sbin/useradd -u 116 -d %{_lighttpddir} -s /bin/false \
172                 -c "HTTP User" -g lighttpd lighttpd 1>&2
173 fi
174
175 %post
176 /sbin/chkconfig --add %{name}
177 if [ -f /var/lock/subsys/%{name} ]; then
178         /etc/rc.d/init.d/%{name} restart 1>&2
179 else
180         echo "Run \"/etc/rc.d/init.d/%{name} start\" to start %{name} daemon."
181 fi
182
183 %preun
184 if [ "$1" = "0" ]; then
185         if [ -f /var/lock/subsys/%{name} ]; then
186                 /etc/rc.d/init.d/%{name} stop 1>&2
187         fi
188         /sbin/chkconfig --del %{name}
189 fi
190
191 %postun
192 if [ "$1" = "0" ]; then
193         %userremove lighttpd
194         %groupremove lighttpd
195 fi
196
197 %triggerpostun -- %{name} <= 1.3.6-2
198 # upgraded
199 if [ "$1" = "2" ]; then
200 %banner %{name} -e <<EOF
201 spawn-fcgi program is now available separately from spawn-fcgi package.
202
203 EOF
204 fi
205
206 %files
207 %defattr(644,root,root,755)
208 %doc NEWS README ChangeLog doc/lighttpd.conf doc/*.txt doc/rrdtool-graph.sh
209 %attr(755,root,root) %{_sbindir}/*
210 %dir %{_libdir}
211 %attr(755,root,root) %{_libdir}/*.so
212 %attr(750,root,root) %dir /var/log/archiv/%{name}
213 %dir %attr(750,lighttpd,root) /var/log/%{name}
214 %attr(755,lighttpd,lighttpd) %{_lighttpddir}
215 %attr(754,root,root) /etc/rc.d/init.d/%{name}
216 %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/*
217 %dir %attr(750,root,lighttpd) %{_sysconfdir}
218 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}.conf
219 %attr(640,root,lighttpd) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.user
220 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/%{name}
221 %{_mandir}/man?/*
222
223 %files -n spawn-fcgi
224 %defattr(644,root,root,755)
225 %doc doc/spawn-php.sh
226 %attr(755,root,root) %{_sbindir}/spawn-fcgi
This page took 0.051098 seconds and 4 git commands to generate.