# 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
#
# Conditional build:
%bcond_with tests # build with tests
%bcond_with webdav_locks # webdav locks with extra efsprogs deps
%bcond_with valgrind # compile code with valgrind support.
%bcond_with deflate # build deflate module (needs patch update with current svn)
+%bcond_with h264_streaming # build h264_streaming module
%if %{with webdav_locks}
%define webdav_progs 1
Summary: Fast and light HTTP server
Summary(pl.UTF-8): Szybki i lekki serwer HTTP
Name: lighttpd
-Version: 1.4.32
-Release: 1
+Version: 1.4.38
+Release: 2
License: BSD
Group: Networking/Daemons/HTTP
-Source0: http://download.lighttpd.net/lighttpd/releases-1.4.x/%{name}-%{version}.tar.bz2
-# Source0-md5: 8e2d4ae8e918d4de1aeb9842584d170b
+Source0: http://download.lighttpd.net/lighttpd/releases-1.4.x/%{name}-%{version}.tar.xz
+# Source0-md5: 7adc12323f37ed24ecf026c7547b577d
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.user
Source12: %{name}.monitrc
Source13: branch.sh
Source14: TODO
-Source15: %{name}.upstart
Source16: %{name}.tmpfiles
Source17: %{name}.service
Source100: %{name}-mod_access.conf
Source135: %{name}-mod_extforward.conf
Source136: %{name}-mod_h264_streaming.conf
Source137: %{name}-mod_cgi_php.conf
+Source138: %{name}-mod_compress.tmpwatch
+# use branch.sh script to create branch.diff
#Patch100: %{name}-branch.diff
+## Patch100-md5: cdcde8cb4632a42c5ae21d73aae9d34b
Patch0: %{name}-use_bin_sh.patch
Patch1: %{name}-mod_evasive-status_code.patch
Patch2: %{name}-mod_h264_streaming.patch
Patch3: %{name}-branding.patch
Patch5: %{name}-mod_deflate.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/
BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpmbuild(macros) >= 1.647
%{?with_webdav_props:BuildRequires: sqlite3-devel}
+BuildRequires: tar >= 1:1.22
%{?with_valgrind:BuildRequires: valgrind}
BuildRequires: which
+BuildRequires: xz
BuildRequires: zlib-devel
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Provides: group(lighttpd)
Provides: user(lighttpd)
Provides: webserver
+Provides: webserver(headers)
Provides: webserver(mime)
Conflicts: logrotate < 3.7-4
# for the posttrans scriptlet, conflicts because in vserver environment rpm package is not installed.
Group: Networking/Daemons/HTTP
Requires: %{name} = %{version}-%{release}
Requires: %{name}-mod_fastcgi = %{version}-%{release}
-Requires: php-fcgi
+Requires: php(fcgi)
Provides: webserver(php)
Obsoletes: lighttpd-php-external
Group: Networking/Daemons/HTTP
Requires: %{name} = %{version}-%{release}
Requires: %{name}-mod_fastcgi = %{version}-%{release}
+Suggests: php(fpm)
Suggests: php-fcgi-init
-Suggests: php-fpm
Obsoletes: lighttpd-php-spawned
%description php-external
%prep
%setup -q
#%patch100 -p0
-#%patch4 -p0
%patch0 -p1
%patch1 -p1
-%patch2 -p1
+%{?with_h264_streaming:%patch2 -p1}
%patch3 -p1
%{?with_deflate:%patch5 -p1}
%patch6 -p1
+%patch7 -p1
rm -f src/mod_ssi_exprparser.h # bad patching: should be removed by is emptied instead
# build mime.types.conf
sh %{SOURCE6} /etc/mime.types
-cp -a %{SOURCE14} PLD-TODO
+cp -p %{SOURCE14} PLD-TODO
+
+%if "%{pld_release}" == "ac"
+%{__sed} -i -e 's/ serial_tests//' configure.ac
+%{__sed} -i -e 's/dist-xz/dist-bzip2/' configure.ac
+%endif
%build
ver=$(awk '/AC_INIT/{a=$2;gsub(/[\[\],]/, "", a); print a}' configure.ac)
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_lighttpddir}/{cgi-bin,html},/etc/{logrotate.d,rc.d/init.d,sysconfig,init,monit}} \
+install -d $RPM_BUILD_ROOT{%{_lighttpddir}/{cgi-bin,html},/etc/{logrotate.d,rc.d/init.d,sysconfig,monit}} \
$RPM_BUILD_ROOT%{_sysconfdir}/{conf,vhosts,webapps}.d \
$RPM_BUILD_ROOT{/var/log/{%{name},archive/%{name}},/var/run/%{name}} \
$RPM_BUILD_ROOT%{_datadir}/lighttpd/errordocs \
cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/monit/%{name}.monitrc
-cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/init/%{name}.conf
-install %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
-install %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+cp -p %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
# handled in the way they are specified. mod_rewrite should always be the first
# module, mod_accesslog always the last.
+conf_available=$RPM_BUILD_ROOT%{_sysconfdir}/conf.d
+conf_enabled=../
+
cp -p %{SOURCE117} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/10_mod_rewrite.conf
cp -p %{SOURCE116} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/11_mod_redirect.conf
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 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 %{SOURCE115} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_proxy.conf
cp -p %{SOURCE118} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_rrdtool.conf
touch $RPM_BUILD_ROOT/var/lib/lighttpd/lighttpd.rrd
+install -d $RPM_BUILD_ROOT/etc/tmpwatch
+cp -p %{SOURCE138} $RPM_BUILD_ROOT/etc/tmpwatch/lighttpd-mod_compress.conf
+
%if %{without mysql}
# avoid packaging dummy module
%{__rm} $RPM_BUILD_ROOT%{_libdir}/mod_mysql_vhost.so
%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
-%config(noreplace) %verify(not md5 mtime size) /etc/init/%{name}.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
%attr(750,root,root) %dir /var/log/archive/%{name}
%files mod_compress
%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/tmpwatch/lighttpd-mod_compress.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_compress.conf
%attr(755,root,root) %{_libdir}/mod_compress.so
%dir %attr(775,root,lighttpd) /var/cache/lighttpd/mod_compress
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_flv_streaming.conf
%attr(755,root,root) %{_libdir}/mod_flv_streaming.so
+%if %{with h264_streaming}
%files mod_h264_streaming
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_h264_streaming.conf
%attr(755,root,root) %{_libdir}/mod_h264_streaming.so
+%endif
%files mod_indexfile
%defattr(644,root,root,755)