-
# TODO:
# - provide or autogenerate self signed cert in post, so after installing
# lighttpd-ssl server will still work
# - patch with mod_websocket: https://github.com/Juniper/lighttpd-for-juise
+# - lighttpd-mod_fd_transfer: https://redmine.lighttpd.net/boards/3/topics/4992
+# - add db specific mod_vhostdb_* - packages
#
# Conditional build:
%bcond_with tests # build with tests
%bcond_without ipv6 # IPv4-only version (doesn't require IPv6 in kernel)
%bcond_without largefile # largefile support (see notes above)
%bcond_without ssl # ssl support
-%bcond_without mysql # mysql support in mod_mysql_vhost
+%bcond_without mysql # mysql support in mod_mysql_vhost, mod_vhostdb_mysql
%bcond_without geoip # GeoIP support
-%bcond_without ldap # ldap support in mod_auth
+%bcond_with krb5 # krb5 support (does not work with heimdal)
+%bcond_without ldap # ldap support in mod_auth, mod_vhostdb_ldap
%bcond_without lua # LUA support in mod_cml (needs LUA >= 5.1)
%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_without mod_trigger_b4_dl # mod_trigger_b4_dl
%bcond_with webdav_props # properties in mod_webdav (includes extra sqlite3/libxml deps)
%bcond_with webdav_locks # webdav locks with extra efsprogs deps
%bcond_with valgrind # compile code with valgrind support.
%define webdav_progs 1
%endif
+# if(WITH_PCRE AND (WITH_MEMCACHED OR WITH_GDBM))
+%if %{without memcached} && %{without gdbm}
+%undefine with_mod_trigger_b4_dl
+%endif
+
Summary: Fast and light HTTP server
Summary(pl.UTF-8): Szybki i lekki serwer HTTP
Name: lighttpd
-Version: 1.4.42
-Release: 0.4
+Version: 1.4.46
+Release: 0.1
License: BSD
Group: Networking/Daemons/HTTP
Source0: http://download.lighttpd.net/lighttpd/releases-1.4.x/%{name}-%{version}.tar.xz
-# Source0-md5: 53c55d7e1dac7adec161cd5490491f6d
+# Source0-md5: b774558e0c07f9eae91105c4132383cb
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.user
Source13: branch.sh
Source14: TODO
Source16: %{name}.tmpfiles
-Source17: %{name}.service
-Source100: %{name}-mod_access.conf
-Source101: %{name}-mod_accesslog.conf
-Source102: %{name}-mod_alias.conf
-Source103: %{name}-mod_auth.conf
-Source104: %{name}-mod_cgi.conf
-Source105: %{name}-mod_cml.conf
-Source106: %{name}-mod_compress.conf
-Source107: %{name}-mod_deflate.conf
-Source108: %{name}-mod_dirlisting.conf
-Source109: %{name}-mod_evasive.conf
-Source110: %{name}-mod_evhost.conf
-Source111: %{name}-mod_expire.conf
-Source112: %{name}-mod_fastcgi.conf
-Source113: %{name}-mod_flv_streaming.conf
-Source114: %{name}-mod_indexfile.conf
-Source115: %{name}-mod_proxy.conf
-Source116: %{name}-mod_redirect.conf
-Source117: %{name}-mod_rewrite.conf
-Source118: %{name}-mod_rrdtool.conf
-Source119: %{name}-mod_scgi.conf
-Source120: %{name}-mod_secdownload.conf
-Source121: %{name}-mod_setenv.conf
-Source122: %{name}-mod_simple_vhost.conf
-Source123: %{name}-mod_ssi.conf
-Source124: %{name}-mod_staticfile.conf
-Source125: %{name}-mod_status.conf
-Source126: %{name}-mod_trigger_b4_dl.conf
-Source127: %{name}-mod_userdir.conf
-Source128: %{name}-mod_usertrack.conf
-Source129: %{name}-mod_webdav.conf
-Source130: %{name}-php-spawned.conf
-Source131: %{name}-php-external.conf
-Source132: %{name}-ssl.conf
-Source133: %{name}-mod_mysql_vhost.conf
-Source134: %{name}-mod_magnet.conf
-Source135: %{name}-mod_extforward.conf
-Source136: %{name}-mod_h264_streaming.conf
-Source137: %{name}-mod_cgi_php.conf
-Source138: %{name}-mod_compress.tmpwatch
-Source139: %{name}-mod_uploadprogress.conf
-Source140: %{name}-mod_geoip.conf
+Source100: mod_access.conf
+Source101: mod_accesslog.conf
+Source102: mod_alias.conf
+Source103: mod_auth.conf
+Source104: mod_cgi.conf
+Source105: mod_cml.conf
+Source106: mod_compress.conf
+Source107: mod_deflate.conf
+Source108: mod_dirlisting.conf
+Source109: mod_evasive.conf
+Source110: mod_evhost.conf
+Source111: mod_expire.conf
+Source112: mod_fastcgi.conf
+Source113: mod_flv_streaming.conf
+Source114: mod_indexfile.conf
+Source115: mod_proxy.conf
+Source116: mod_redirect.conf
+Source117: mod_rewrite.conf
+Source118: mod_rrdtool.conf
+Source119: mod_scgi.conf
+Source120: mod_secdownload.conf
+Source121: mod_setenv.conf
+Source122: mod_simple_vhost.conf
+Source123: mod_ssi.conf
+Source124: mod_staticfile.conf
+Source125: mod_status.conf
+Source126: mod_trigger_b4_dl.conf
+Source127: mod_userdir.conf
+Source128: mod_usertrack.conf
+Source129: mod_webdav.conf
+Source130: php-spawned.conf
+Source131: php-external.conf
+Source132: ssl.conf
+Source133: mod_mysql_vhost.conf
+Source134: mod_magnet.conf
+Source135: mod_extforward.conf
+Source136: mod_h264_streaming.conf
+Source137: mod_cgi_php.conf
+Source138: mod_compress.tmpwatch
+Source139: mod_uploadprogress.conf
+Source140: mod_geoip.conf
+Source141: mod_authn_ldap.conf
+Source142: mod_openssl.conf
+Source143: mod_vhostdb.conf
+Source144: mod_wstunnel.conf
# use branch.sh script to create branch.diff
#Patch100: %{name}-branch.diff
## Patch100-md5: 7bd09235304c8bcb16f34d49d480c0fb
Patch1: %{name}-mod_evasive-status_code.patch
Patch2: %{name}-mod_h264_streaming.patch
Patch3: %{name}-branding.patch
+Patch4: systemd.patch
Patch6: test-port-setup.patch
Patch7: env-documentroot.patch
-#Patch: %{name}-modinit-before-fork.patch
-#Patch: %{name}-errorlog-before-fork.patch
URL: http://www.lighttpd.net/
-%{?with_xattr:BuildRequires: attr-devel}
%{?with_geoip:BuildRequires: GeoIP-devel}
+%{?with_xattr:BuildRequires: attr-devel}
BuildRequires: autoconf >= 2.57
%if "%{pld_release}" != "ac"
BuildRequires: automake >= 1:1.11.2
BuildRequires: fcgi-devel
%{?with_gamin:BuildRequires: gamin-devel}
%{?with_gdbm:BuildRequires: gdbm-devel}
+%{?with_krb5:BuildRequires: krb5-devel}
%{?with_memcache:BuildRequires: libmemcache-devel}
BuildRequires: libtool
BuildRequires: libuuid-devel
# TODO: ldap and mysql should be optional
# https://github.com/lighttpd/lighttpd1.4/blob/lighttpd-1.4.42/src/configfile.c#L426-L428
Requires: %{name}-mod_authn_ldap = %{version}-%{release}
+%if %{with mysql}
Requires: %{name}-mod_authn_mysql = %{version}-%{release}
+%endif
Provides: webserver(auth)
%description mod_auth
%description mod_mysql_vhost -l pl.UTF-8
Ten moduł udostępnia wirtualne hosty (vhosty) oparte na tabeli MySQL.
+%package mod_openssl
+Summary: TLS/SSL for lighttpd
+Group: Networking/Daemons/HTTP
+URL: https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_SSL
+Requires: %{name} = %{version}-%{release}
+
+%description mod_openssl
+TLS/SSL for lighttpd.
+
%package mod_proxy
Summary: lighttpd module for proxying requests
Summary(pl.UTF-8): Moduł lighttpd do przekazywania żądań
%description mod_usertrack -l pl.UTF-8
Moduł usertrack dla lighttpd.
+%package mod_vhostdb
+Summary: Virtual host database to provide vhost docroot
+Group: Networking/Daemons/HTTP
+URL: https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModVhostDB
+Requires: %{name} = %{version}-%{release}
+
+%description mod_vhostdb
+Virtual host database to provide vhost docroot.
+
%package mod_webdav
Summary: WebDAV module for lighttpd
Summary(pl.UTF-8): Moduł WebDAV dla libghttpd
Jak na razie montowanie zasobu webdav pod Windows XP działa i
podstawowe testy lakmusowe przechodzą.
+%package mod_wstunnel
+Summary: WebSocket tunnel endpoint
+Group: Networking/Daemons/HTTP
+URL: https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModWSTunnel
+Requires: %{name} = %{version}-%{release}
+
+%description mod_wstunnel
+WebSocket tunnel endpoint. This module terminates the websocket tunnel
+from a client. This module then passes data (without websocket frames)
+to a backend and encodes responses from backend in websocket frames
+before sending responses to client.
+
%package php-spawned
Summary: PHP support via FastCGI, spawned by lighttpd
Summary(pl.UTF-8): Obsługa PHP przez FastCGI, uruchamiane przez lighttpd
Group: Networking/Daemons/HTTP
URL: http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:SSL
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-mod_openssl = %{version}-%{release}
Suggests: ca-certificates
%description ssl
#%patch1 -p1 UPDATE (and submit upstream!) if you need this
%{?with_h264_streaming:%patch2 -p1}
%patch3 -p1
+%patch4 -p1
%patch6 -p1
#%patch7 -p1 probably fixed upstream
exit 1
fi
+%{__aclocal} -I m4 -I scripts/m4
%{__libtoolize}
-%{__autoheader}
-%{__aclocal}
%{__autoconf}
+%{__autoheader}
%{__automake}
%configure \
%{!?with_largefile:--disable-lfs} \
%{?with_valgrind:--with-valgrind} \
%{?with_xattr:--with-attr} \
+ %{?with_krb5:--with-krb5} \
%{?with_geoip:--with-geoip} \
%{?with_mysql:--with-mysql} \
%{?with_ldap:--with-ldap} \
cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/monit/%{name}.monitrc
cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
-cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+cp -p doc/systemd/lighttpd.service $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
rm -f $RPM_BUILD_ROOT%{pkglibdir}/*.la
cp -p %{SOURCE110} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_evhost.conf
cp -p %{SOURCE112} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_fastcgi.conf
cp -p %{SOURCE113} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_flv_streaming.conf
+%if %{with geoip}
cp -p %{SOURCE140} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_geoip.conf
+%endif
+%if %{with ldap}
+cp -p %{SOURCE141} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_authn_ldap.conf
+%endif
%if %{with h264_streaming}
cp -p %{SOURCE136} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_h264_streaming.conf
%endif
cp -p %{SOURCE114} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_indexfile.conf
+cp -p %{SOURCE142} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_openssl.conf
cp -p %{SOURCE115} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_proxy.conf
cp -p %{SOURCE118} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_rrdtool.conf
cp -p %{SOURCE119} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_scgi.conf
cp -p %{SOURCE123} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_ssi.conf
cp -p %{SOURCE124} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_staticfile.conf
cp -p %{SOURCE125} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_status.conf
+%if %{with mod_trigger_b4_dl}
cp -p %{SOURCE126} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_trigger_b4_dl.conf
+%endif
cp -p %{SOURCE139} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_uploadprogress.conf
cp -p %{SOURCE127} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_userdir.conf
cp -p %{SOURCE128} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_usertrack.conf
+cp -p %{SOURCE143} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_vhostdb.conf
cp -p %{SOURCE129} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_webdav.conf
+cp -p %{SOURCE144} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_wstunnel.conf
+%if %{with mysql}
cp -p %{SOURCE133} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_mysql_vhost.conf
+%endif
cp -p %{SOURCE134} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/55_mod_magnet.conf
cp -p %{SOURCE111} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/55_mod_expire.conf
install -d $RPM_BUILD_ROOT/etc/tmpwatch
cp -p %{SOURCE138} $RPM_BUILD_ROOT/etc/tmpwatch/lighttpd-mod_compress.conf
-# avoid packaging dummy modules
-%if %{without mysql}
-%{__rm} $RPM_BUILD_ROOT%{pkglibdir}/mod_mysql_vhost.so
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/*_mod_mysql_vhost.conf
-%endif
-%if %{without geoip}
-%{__rm} $RPM_BUILD_ROOT%{pkglibdir}/mod_geoip.so
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/*_mod_geoip.conf
-%endif
-
touch $RPM_BUILD_ROOT/var/log/%{name}/{access,error,breakage}.log
%clean
%module_scripts mod_alias
%module_scripts mod_auth
%module_scripts mod_authn_file
-%module_scripts mod_authn_mysql
%module_scripts mod_authn_gssapi
%module_scripts mod_authn_ldap
+%module_scripts mod_authn_mysql
%module_scripts mod_cgi
%module_scripts mod_cml
%module_scripts mod_compress
%module_scripts mod_indexfile
%module_scripts mod_magnet
%module_scripts mod_mysql_vhost
+%module_scripts mod_openssl
%module_scripts mod_proxy
%module_scripts mod_redirect
%module_scripts mod_rewrite
-
-%post mod_rrdtool
-if [ ! -f /var/lib/lighttpd/lighttpd.rrd ]; then
- touch /var/lib/lighttpd/lighttpd.rrd
- chown lighttpd:stats /var/lib/lighttpd/lighttpd.rrd
- chmod 640 /var/lib/lighttpd/lighttpd.rrd
-fi
-%module_post
-
-%postun mod_rrdtool
-%module_postun
-
%module_scripts mod_scgi
%module_scripts mod_secdownload
%module_scripts mod_setenv
%module_scripts mod_uploadprogress
%module_scripts mod_userdir
%module_scripts mod_usertrack
+%module_scripts mod_vhostdb
%module_scripts mod_webdav
+%module_scripts mod_wstunnel
%module_scripts php-spawned
%module_scripts php-external
+%post mod_rrdtool
+if [ ! -f /var/lib/lighttpd/lighttpd.rrd ]; then
+ touch /var/lib/lighttpd/lighttpd.rrd
+ chown lighttpd:stats /var/lib/lighttpd/lighttpd.rrd
+ chmod 640 /var/lib/lighttpd/lighttpd.rrd
+fi
+%module_post
+
+%postun mod_rrdtool
+%module_postun
+
+
%triggerpostun -- %{name} < 1.4.18-10.1
if [ -f /etc/lighttpd/conf.d/50_mod_extforward.conf.rpmsave ]; then
cp -f /etc/lighttpd/conf.d/91_mod_extforward.conf{,.rpmnew}
%attr(755,root,root) %{_sbindir}/lighttpd-angel
%dir %{pkglibdir}
%{_mandir}/man8/lighttpd.8*
+%{_mandir}/man8/lighttpd-angel.8*
%dir %{_lighttpddir}
%dir %{_lighttpddir}/cgi-bin
%dir %{_lighttpddir}/html
%defattr(644,root,root,755)
%attr(755,root,root) %{pkglibdir}/mod_authn_file.so
+%if %{with krb5}
%files mod_authn_gssapi
%defattr(644,root,root,755)
%attr(755,root,root) %{pkglibdir}/mod_authn_gssapi.so
+%endif
%files mod_authn_ldap
%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_authn_ldap.conf
%attr(755,root,root) %{pkglibdir}/mod_authn_ldap.so
+%if %{with mysql}
%files mod_authn_mysql
%defattr(644,root,root,755)
%attr(755,root,root) %{pkglibdir}/mod_authn_mysql.so
+%endif
%files mod_cgi
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_proxy.conf
%attr(755,root,root) %{pkglibdir}/mod_proxy.so
+%files mod_openssl
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_openssl.conf
+%attr(755,root,root) %{pkglibdir}/mod_openssl.so
+
%files mod_redirect
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_redirect.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_status.conf
%attr(755,root,root) %{pkglibdir}/mod_status.so
+%if %{with mod_trigger_b4_dl}
%files mod_trigger_b4_dl
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_trigger_b4_dl.conf
%attr(755,root,root) %{pkglibdir}/mod_trigger_b4_dl.so
+%endif
%files mod_uploadprogress
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_usertrack.conf
%attr(755,root,root) %{pkglibdir}/mod_usertrack.so
+%files mod_vhostdb
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_vhostdb.conf
+%attr(755,root,root) %{pkglibdir}/mod_vhostdb.so
+%if %{with ldap}
+%attr(755,root,root) %{pkglibdir}/mod_vhostdb_ldap.so
+%endif
+%if %{with mysql}
+%attr(755,root,root) %{pkglibdir}/mod_vhostdb_mysql.so
+%endif
+
%files mod_webdav
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_webdav.conf
%attr(755,root,root) %{pkglibdir}/mod_webdav.so
+%files mod_wstunnel
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_wstunnel.conf
+%attr(755,root,root) %{pkglibdir}/mod_wstunnel.so
+
%files php-spawned
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/php-spawned.conf