# TODO:
-# - provide or autogenerate self signed cert in post, so after installing
+# - provide or autogenerated 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
+# - add db specific mod_vhostdb_* sub-packages
+# - package mod_sockproxy
+# https://github.com/lighttpd/lighttpd1.4/commit/c4d743bb4d0cc045d41322169a4e36a151e247f1
#
# Conditional build:
%bcond_with tests # build with tests
%bcond_without xattr # support of extended attributes
%bcond_without ipv6 # IPv4-only version (doesn't require IPv6 in kernel)
%bcond_without largefile # largefile support (see notes above)
+%bcond_without dbi # libdbi, enables mod_vhostdb_dbi
%bcond_without ssl # ssl support
%bcond_without mysql # mysql support in mod_mysql_vhost, mod_vhostdb_mysql
+%bcond_without pgsql # PgSQL, enables mod_vhostdb_pgsql
%bcond_without geoip # GeoIP support
%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_with gamin # gamin for reducing number of stat() calls. must be enabled in config: server.stat-cache-engine = "fam"
%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.
%bcond_with h264_streaming # build h264_streaming module
+%bcond_without storage_memcached # memcached storage for mod_trigger_b4_dl/mod_cml
+%bcond_without storage_gdbm # gdbm storage for mod_trigger_b4_dl
%if %{with webdav_locks}
%define webdav_progs 1
%endif
# if(WITH_PCRE AND (WITH_MEMCACHED OR WITH_GDBM))
-%if %{without memcached} && %{without gdbm}
+%if %{without storage_memcached} && %{without storage_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.46
-Release: 1
+Version: 1.4.50
+Release: 5
License: BSD
Group: Networking/Daemons/HTTP
-Source0: http://download.lighttpd.net/lighttpd/releases-1.4.x/%{name}-%{version}.tar.xz
-# Source0-md5: b774558e0c07f9eae91105c4132383cb
+Source0: https://download.lighttpd.net/lighttpd/releases-1.4.x/%{name}-%{version}.tar.xz
+# Source0-md5: 0547831efda8492648b7f0c652865dfd
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.user
Source4: %{name}.logrotate
Source5: %{name}.sysconfig
Source6: %{name}-mime.types.sh
-Source7: http://glen.alkohol.ee/pld/lighty/favicon.ico
+Source7: https://glen.alkohol.ee/pld/lighty/favicon.ico
# Source7-md5: 00fcac5b861a54f5eb147a589504d480
Source8: light_button.png
# Source8-md5: 3e1008ee1d3d6d390cf81fe3072b4f50
# use branch.sh script to create branch.diff
#Patch100: %{name}-branch.diff
## Patch100-md5: 7bd09235304c8bcb16f34d49d480c0fb
-Patch0: %{name}-use_bin_sh.patch
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
-URL: http://www.lighttpd.net/
+Patch5: test-port-setup.patch
+Patch6: a9e131..df8e4f.patch
+URL: https://www.lighttpd.net/
%{?with_geoip:BuildRequires: GeoIP-devel}
%{?with_xattr:BuildRequires: attr-devel}
BuildRequires: autoconf >= 2.57
BuildRequires: bzip2-devel
BuildRequires: fcgi-devel
%{?with_gamin:BuildRequires: gamin-devel}
-%{?with_gdbm:BuildRequires: gdbm-devel}
+%{?with_storage_gdbm:BuildRequires: gdbm-devel}
%{?with_krb5:BuildRequires: krb5-devel}
-%{?with_memcache:BuildRequires: libmemcache-devel}
+%{?with_dbi:BuildRequires: libdbi-devel}
+%{?with_storage_memcached:BuildRequires: libmemcached-devel}
BuildRequires: libtool
BuildRequires: libuuid-devel
%{?with_webdav_props:BuildRequires: libxml2-devel}
%{?with_lua:BuildRequires: lua51-devel}
BuildRequires: mailcap >= 2.1.14-4.4
%{?with_mysql:BuildRequires: mysql-devel}
+%{?with_pgsql:BuildRequires: postgresql-devel}
%{?with_ldap:BuildRequires: openldap-devel}
%{?with_ssl:BuildRequires: openssl-devel}
BuildRequires: pcre-devel
%prep
%setup -q
#%patch100 -p1
-%patch0 -p1
#%patch1 -p1 UPDATE (and submit upstream!) if you need this
%{?with_h264_streaming:%patch2 -p1}
%patch3 -p1
%patch4 -p1
+%patch5 -p1
%patch6 -p1
-#%patch7 -p1 probably fixed upstream
rm -f src/mod_ssi_exprparser.h # bad patching: should be removed by is emptied instead
%{!?with_largefile:--disable-lfs} \
%{?with_valgrind:--with-valgrind} \
%{?with_xattr:--with-attr} \
+ %{?with_dbi:--with-dbi} \
%{?with_krb5:--with-krb5} \
%{?with_geoip:--with-geoip} \
%{?with_mysql:--with-mysql} \
%{?with_ldap:--with-ldap} \
%{?with_ssl:--with-openssl} \
+ %{?with_pgsql:--with-pgsql} \
%{?with_lua:--with-lua=lua51} \
- %{?with_memcache:--with-memcache} \
+ %{?with_storage_memcached:--with-memcached} \
%{?with_webdav_props:--with-webdav-props} \
%{?with_webdav_locks:--with-webdav-locks} \
%{?with_gamin:--with-gamin} \
- %{?with_gdbm:--with-gdbm}
+ %{?with_storage_gdbm:--with-gdbm}
# -j1 as src/mod_ssi_exprparser.h regeneration deps are broken
%{__make} -j1
%install
rm -rf $RPM_BUILD_ROOT
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%{_sysconfdir}/{{conf,vhosts,webapps}.d,ssl} \
$RPM_BUILD_ROOT{/var/log/{%{name},archive/%{name}},/var/run/%{name}} \
$RPM_BUILD_ROOT%{_datadir}/lighttpd/errordocs \
$RPM_BUILD_ROOT/var/lib/lighttpd \
%dir %attr(750,root,root) %{_sysconfdir}/conf.d
%dir %attr(750,root,root) %{_sysconfdir}/vhosts.d
%dir %attr(750,root,root) %{_sysconfdir}/webapps.d
+%dir %attr(700,root,root) %{_sysconfdir}/ssl
%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
%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
+# TODO: subpackages
+%if %{with dbi}
+%attr(755,root,root) %{pkglibdir}/mod_vhostdb_dbi.so
+%endif
%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
+%if %{with pgsql}
+%attr(755,root,root) %{pkglibdir}/mod_vhostdb_pgsql.so
+%endif
%files mod_webdav
%defattr(644,root,root,755)