# TODO:
# - test ldap and mysql (failed at this time)
# - mysql issue: http://www.freebsd.org/cgi/query-pr.cgi?pr=76866
-# - gdbm for mod_trigger_b4_dl http://www.lighttpd.net/documentation/trigger_b4_dl.html
+# - fam over gamin is possible, just configure doesn't check other than gamin
+# - feature stat-cache-fam (doesn't work)
#
# NOTES:
# - fcgi-devel is only used for the test-scripts
# - disable largefile, if you have 2.4 kernel to get sendfile() support, and don't need > 2GB file requests,
# see http://article.gmane.org/gmane.comp.web.lighttpd:722
+# - please make subpackages of modules that depend other modules than:
+# - pcre (core binary needs it too)
+# - openssl (core binary needs it too)
#
# Conditional build for lighttpd:
-%bcond_with xattr # with support of extended attributes (doesn't compile in 1.4.0)
+%bcond_without xattr # support of extended attributes
%bcond_without ipv6 # IPv4-only version (doesn't require IPv6 in kernel)
-%bcond_without largefile # without largefile support (see notes above)
-%bcond_without ssl # disable ssl support
-%bcond_without mysql # without mysql
-%bcond_with ldap # with ldap
-%bcond_with lua # enable LUA support in mod_cml
-%bcond_with memcache # enable memcached support in mod_cml / mod_trigger_b4_dl
+%bcond_without largefile # largefile support (see notes above)
+%bcond_without ssl # ssl support
+%bcond_with mysql # mysql support in mod_mysql_vhost
+%bcond_with ldap # ldap support in mod_auth
+%bcond_with lua # LUA support in mod_cml
+%bcond_with memcache # memcached support in mod_cml / mod_trigger_b4_dl
+%bcond_with gamin # gamin for reducing number of stat() calls.
+ # NOTE: must be enabled in config: server.stat-cache-engine = "fam"
+%bcond_with gdbm # gdbm in mod_trigger_b4_dl
+%bcond_with webdav_props # properties in mod_webdav (includes extra sqlite3/libxml deps)
%bcond_with valgrind # compile code with valgrind support.
-%bcond_with dirhide # with 'hide from dirlisting' hack
# Prerelease snapshot: DATE-TIME
#define _snap 20050116-1743
%define _source http://www.lighttpd.net/download/%{name}-%{version}.tar.gz
%endif
-%define _rel 1
+%define _rel 1.4
Summary: Fast and light HTTP server
Summary(pl): Szybki i lekki serwer HTTP
Name: lighttpd
-Version: 1.4.0
+Version: 1.4.7
Release: %{_rel}%{?_snap:.%(echo %{_snap}|tr - _)}
Group: Networking/Daemons
License: BSD
Source0: %{_source}
-# Source0-md5: 926a3603615c9edf5859977f1b8b6033
+# Source0-md5: 4d1b02e2008e5f35e4df7defee186fdd
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.user
Source4: %{name}.logrotate
Source5: %{name}.sysconfig
-Patch0: http://minghetti.ch/blob/dirlist-hide.patch
-Patch1: %{name}-fcgi-verbose.patch
-Patch2: %{name}-ssl-redirect-fix.patch
+Source6: %{name}-mime.types.sh
+Source7: http://www.lighttpd.net/favicon.ico
+# Source7-md5: a358994becabd4060393a5454bde505d
+Source8: http://www.lighttpd.net/light_button.png
+# Source8-md5: 02330e2313fadc29144edfd6000879f8
+Source9: http://www.lighttpd.net/light_logo.png
+# Source9-md5: ac20784510e420d5cbe5fc1cdb53d7a7
URL: http://www.lighttpd.net/
%{?with_xattr:BuildRequires: attr-devel}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bzip2-devel
+%{?with_gamin:BuildRequires: gamin-devel}
+%{?with_gdbm:BuildRequires: gdbm-devel}
+%{?with_memcache:BuildRequires: libmemcache-devel}
BuildRequires: libtool
+%{?with_webdav_props:BuildRequires: libxml2-devel}
+%{?with_webdav_props:BuildRequires: sqlite3-devel}
+%{?with_lua:BuildRequires: lua50-devel >= 5.0.2-5.1}
+BuildRequires: mailcap >= 2.1.14-4.4
%{?with_mysql:BuildRequires: mysql-devel}
-%{?with_ldap:BuildRequires: openldap-devel}
+%{?with_ldap:BuildRequires: openldap-devel}
%{?with_ssl:BuildRequires: openssl-devel}
-%{?with_lua:BuildRequires: lua50-devel}
-%{?with_memcache:BuildRequires: libmemcache-devel}
BuildRequires: pcre-devel
+BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 1.202
-%{?debug:BuildRequires: valgrind}
+%{?with_valgrind:BuildRequires: valgrind}
BuildRequires: zlib-devel
PreReq: rc-scripts
Requires(pre): sh-utils
%package mod_compress
Summary: Output Compression
+Summary(pl): Kompresja wyj¶cia
Group: Networking/Daemons
URL: http://www.lighttpd.net/documentation/compress.html
Requires: %{name} = %{version}-%{release}
Only static content is supported up to now.
-The server negotiates automaticly which compression method is used.
+The server negotiates automatically which compression method is used.
Supported are gzip, deflate, bzip.
+%description mod_compress -l pl
+Kompresja wyj¶cia zmniejsza obci±¿enie sieci i mo¿e poprawiæ ca³kowit±
+przepustowo¶æ serwera WWW.
+
+Jak na razie obs³ugiwana jest tylko statyczna tre¶æ.
+
+Serwer automatycznie negocjuje, która metoda kompresji jest u¿ywana.
+Obs³ugiwane s± gzip, deflate i bzip.
+
%package mod_cml
Summary: Cache Meta Language module
+Summary(pl): Modu³ Cache Meta Language
Group: Networking/Daemons
URL: http://www.lighttpd.net/documentation/cml.html
Requires: %{name} = %{version}-%{release}
side and building a page from its fragments on the other side using
LUA.
+%description mod_cml -l pl
+CML to metajêzyk s³u¿±cy z jednej strony do opisu zale¿no¶ci strony i
+z drugiej strony do budowania strony z fragmentów przy u¿yciu LUA.
+
%package mod_mysql_vhost
Summary: MySQL based vhosting
+Summary(pl): vhosty oparte na MySQL-u
Group: Networking/Daemons
URL: http://www.lighttpd.net/documentation/mysqlvhost.html
Requires: %{name} = %{version}-%{release}
%description mod_mysql_vhost
This module provides virtual hosts (vhosts) based on a MySQL table.
+%description mod_mysql_vhost -l pl
+Ten modu³ udostêpnia wirtualne hosty (vhosty) oparte na tabeli MySQL.
+
%package mod_trigger_b4_dl
Summary: Trigger before Download
+Summary(pl): Wyzwalacz przed ¶ci±ganiem
Group: Networking/Daemons
URL: http://www.lighttpd.net/documentation/trigger_b4_dl.html
Requires: %{name} = %{version}-%{release}
%description mod_trigger_b4_dl
Another anti hot-linking module.
+%description mod_trigger_b4_dl -l pl
+Jeszcze jeden modu³ blokuj±cy bezpo¶rednie linkowanie.
+
+%package mod_webdav
+Summary: WebDAV module for lighttpd
+Summary(pl): Modu³ WebDAV dla libghttpd
+Group: Networking/Daemons
+URL: http://www.lighttpd.net/documentation/webdav.html
+Requires: %{name} = %{version}-%{release}
+
+%description mod_webdav
+The WebDAV module is a very minimalistic implementation of RFC 2518.
+Minimalistic means that not all operations are implementated yet.
+
+So far we have
+- PROPFIND
+- OPTIONS
+- MKCOL
+- DELETE
+- PUT
+
+and the usual GET, POST, HEAD from HTTP/1.1.
+
+So far mounting a webdav resource into Windows XP works and the basic
+litmus tests are passed.
+
+%description mod_webdav -l pl
+Modu³ WebDAV to bardzo minimalistyczna implementacja RFC 2518.
+Minimalistyczna oznacza, ¿e jeszcze nie wszystkie operacje s±
+zaimplementowane. Jak na razie s±:
+- PROPFIND
+- OPTIONS
+- MKCOL
+- DELETE
+- PUT
+oraz zwyk³e GET, POST, HEAD z HTTP/1.1.
+
+Jak na razie montowanie zasobu webdav pod Windows XP dzia³a i
+podstawowe testy lakmusowe przechodz±.
+
%package -n spawn-fcgi
Summary: Spawn fcgi-process directly
Summary(pl): Bezpo¶rednie uruchamianie procesów fcgi
%prep
%setup -q
-%{?with_dirhide:%patch0 -p0}
-%patch1 -p1
-%patch2 -p1
+install %{SOURCE6} mime.types.sh
+
+# build mime.types.conf
+./mime.types.sh /etc/mime.types
%build
%{__libtoolize}
%{__aclocal}
%{__autoconf}
+%{__automake}
%configure \
+ %{!?with_ipv6:--disable-ipv6} \
+ %{!?with_largefile:--disable-lfs} \
%{?with_valgrind:--with-valgrind} \
%{?with_xattr:--with-attr} \
%{?with_mysql:--with-mysql} \
%{?with_ldap:--with-ldap} \
- %{!?with_ipv6:--disable-ipv6} \
- %{!?with_largefile:--disable-lfs} \
%{?with_ssl:--with-openssl} \
%{?with_lua:--with-lua} \
- %{?with_memcache:--with-memcache}
+ %{?with_memcache:--with-memcache} \
+ %{?with_webdav_props:--with-webdav-props} \
+ %{?with_gamin:--with-gamin} \
+ %{?with_gdbm:--with-gdbm}
%{__make}
DESTDIR=$RPM_BUILD_ROOT
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-install %{SOURCE2} %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}
+install %{SOURCE2} %{SOURCE3} mime.types.conf $RPM_BUILD_ROOT%{_sysconfdir}
install %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
# could use automake patch, but automake generation fails...
mv $RPM_BUILD_ROOT%{_bindir}/spawn-fcgi $RPM_BUILD_ROOT%{_sbindir}/spawn-fcgi
+%if %{without mysql}
+rm -f $RPM_BUILD_ROOT%{_libdir}/mod_mysql_vhost.so
+%endif
+
+# Install lighttpd images
+install %{SOURCE7} %{SOURCE8} %{SOURCE9} $RPM_BUILD_ROOT%{_lighttpddir}/html
+
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/mod_status.so
%attr(755,root,root) %{_libdir}/mod_userdir.so
%attr(755,root,root) %{_libdir}/mod_usertrack.so
-%attr(755,root,root) %{_libdir}/mod_webdav.so
%attr(750,root,root) %dir /var/log/archiv/%{name}
%dir %attr(750,lighttpd,root) /var/log/%{name}
-%attr(755,lighttpd,lighttpd) %{_lighttpddir}
%attr(754,root,root) /etc/rc.d/init.d/%{name}
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/*
%dir %attr(750,root,lighttpd) %{_sysconfdir}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.types.conf
%attr(640,root,lighttpd) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.user
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
%{_mandir}/man?/*
+%dir %{_lighttpddir}
+%dir %{_lighttpddir}/cgi-bin
+%dir %{_lighttpddir}/html
+%{_lighttpddir}/html/*
+
%files mod_compress
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/mod_compress.so
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/mod_cml.so
+%if %{with mysql}
%files mod_mysql_vhost
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/mod_mysql_vhost.so
+%endif
%files mod_trigger_b4_dl
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/mod_trigger_b4_dl.so
+%files mod_webdav
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/mod_webdav.so
+
%files -n spawn-fcgi
%defattr(644,root,root,755)
%doc doc/spawn-php.sh