X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=lighttpd.spec;h=b619fb0944f3a05350fea1223c9eaa34160d3df7;hb=d66b6f703f3c52121925c507e81bdd102c8abe74;hp=b618421050824260261071606e4ca74defe4d33a;hpb=33ba25460ab99db19e6ff220abf4f5da0b16625b;p=packages%2Flighttpd.git diff --git a/lighttpd.spec b/lighttpd.spec index b618421..b619fb0 100644 --- a/lighttpd.spec +++ b/lighttpd.spec @@ -1,56 +1,69 @@ # TODO: -# - provide or autogenerate self signed cert in post, so after installing +# - don't use lighttpd-angel in systemd. systemd does the respawn/recovery logic itself +# - 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 +# - TLS library options +# - mod_openssl (existing) +# - mod_mbedtls (experimental) +# - mod_wolfssl (experimental) +# - mod_gnutls (experimental) +# - mod_nss (experimental) # # 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 bzip2 # Enable bzip2 support for mod_deflate +%bcond_without brotli # Enable brotli support for mod_deflate %bcond_without geoip # GeoIP support +%bcond_without maxminddb # MaxMind GeoIP2 module %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: 0.2 +Version: 1.4.56 +Release: 2 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: 9d94f68c8106bfcdfe7aafa0a13f45a8 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 @@ -69,7 +82,6 @@ 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 @@ -101,7 +113,6 @@ 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 @@ -109,31 +120,34 @@ Source142: mod_openssl.conf Source143: mod_vhostdb.conf Source144: mod_wstunnel.conf Source145: mod_authn_mysql.conf +Source146: mod_sockproxy.conf +Source147: mod_maxminddb.conf # 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 +URL: https://www.lighttpd.net/ %{?with_geoip:BuildRequires: GeoIP-devel} %{?with_xattr:BuildRequires: attr-devel} BuildRequires: autoconf >= 2.57 +%{?with_maxminddb:BuildRequires: libmaxminddb-devel} %if "%{pld_release}" != "ac" BuildRequires: automake >= 1:1.11.2 %else BuildRequires: automake %endif -BuildRequires: bzip2-devel +%{?with_bzip2: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_brotli:BuildRequires: libbrotli-devel} +%{?with_dbi:BuildRequires: libdbi-devel} +%{?with_storage_memcached:BuildRequires: libmemcached-devel} BuildRequires: libtool BuildRequires: libuuid-devel %{?with_webdav_props:BuildRequires: libxml2-devel} @@ -144,6 +158,7 @@ BuildRequires: mailcap >= 2.1.14-4.4 %{?with_ssl:BuildRequires: openssl-devel} BuildRequires: pcre-devel BuildRequires: pkgconfig +%{?with_pgsql:BuildRequires: postgresql-devel} BuildRequires: rpm >= 4.4.9-56 BuildRequires: rpmbuild(macros) >= 1.647 %{?with_webdav_props:BuildRequires: sqlite3-devel} @@ -389,12 +404,32 @@ Obsługiwane są gzip, deflate i bzip. Summary: lighttpd module for output compression using deflate method Summary(pl.UTF-8): Moduł lighttpd do kompresji wyjścia metodą deflate Group: Networking/Daemons/HTTP -URL: http://redmine.lighttpd.net/projects/lighttpd/wiki/Mod_Deflate +URL: https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModDeflate Requires: %{name} = %{version}-%{release} +Obsoletes: lighttpd-mod_compress < 1.4.56 + +%define _deflate_encodings deflate gzip %{?with_bzip2:bzip2} %{?with_brotli:brotli} +%define deflate_encodings %(echo %_deflate_encodings | sed -e 's/ /, /g') %description mod_deflate -mod_deflate can compress any output from lighttpd static or dynamic. -It doesn't support caching compressed output like mod_compress. +mod_deflate enables output compression of responses +(Content-Encoding). + +Output compression reduces the network load and can improve the +overall throughput of the webserver. All major http-clients support +compression by announcing it in the Accept-Encoding header. This is +used to negotiate the most suitable compression method. + +This module supports %{deflate_encodings} encodings. + +deflate (RFC1950, RFC1951) and gzip (RFC1952) depend on zlib while +bzip2 depends on libbzip2. bzip2 is only supported by lynx and some +other console text-browsers. brotli (RFC7932) is supported in most +popular browsers. + +Since lighttpd 1.4.56, mod_deflate subsumes and replaces mod_compress. +mod_deflate can compress static and dynamic responses, while +mod_compress could compress only static files. %description mod_deflate -l pl.UTF-8 mod_deflate potrafi kompresować statyczne i dynamiczne wyjście z @@ -562,6 +597,14 @@ mod_magnet is a module to control the request handling in lighty. %description mod_magnet -l pl.UTF-8 mod_magnet to moduł sterujący obsługą żądań w lighty. +%package mod_maxminddb +Summary: lighttpd module +Group: Networking/Daemons/HTTP +#URL: https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModGeoip +Requires: %{name} = %{version}-%{release} + +%description mod_maxminddb + %package mod_mysql_vhost Summary: lighttpd module for MySQL based vhosting Summary(pl.UTF-8): Moduł lighttpd obsługujący vhosty oparte na MySQL-u @@ -730,6 +773,17 @@ lighttpd module for simple virtual-hosting. %description mod_simple_vhost -l pl.UTF-8 Moduł lighttpd do prostych hostów wirtualnych. +%package mod_sockproxy +Summary: Transparent socket proxy +Group: Networking/Daemons/HTTP +URL: https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModSockProxy +Requires: %{name} = %{version}-%{release} + +%description mod_sockproxy +mod_sockproxy is a transparent socket proxy. For a given $SERVER["socket"] +config, connections will be forwarded to backend(s) without any +interpretation of the protocol. + %package mod_ssi Summary: lighttpd module for server-side includes Summary(pl.UTF-8): Moduł lighttpd do SSI (server-side includes) @@ -944,13 +998,11 @@ Plik monitrc do monitorowania serwera www lighttpd. %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 -%patch6 -p1 -#%patch7 -p1 probably fixed upstream +%patch5 -p1 rm -f src/mod_ssi_exprparser.h # bad patching: should be removed by is emptied instead @@ -977,22 +1029,27 @@ fi %{__automake} %configure \ - --libdir=%{pkglibdir} \ %{!?with_ipv6:--disable-ipv6} \ %{!?with_largefile:--disable-lfs} \ - %{?with_valgrind:--with-valgrind} \ - %{?with_xattr:--with-attr} \ - %{?with_krb5:--with-krb5} \ + %{?with_brotli:--with-brotli} \ + %{?with_bzip2:--with-bzip2} \ + %{?with_dbi:--with-dbi} \ + %{?with_gamin:--with-gamin} \ %{?with_geoip:--with-geoip} \ - %{?with_mysql:--with-mysql} \ + %{?with_krb5:--with-krb5} \ %{?with_ldap:--with-ldap} \ - %{?with_ssl:--with-openssl} \ %{?with_lua:--with-lua=lua51} \ - %{?with_memcache:--with-memcache} \ - %{?with_webdav_props:--with-webdav-props} \ + %{?with_maxminddb:--with-maxminddb} \ + %{?with_mysql:--with-mysql} \ + %{?with_pgsql:--with-pgsql} \ + %{?with_ssl:--with-openssl} \ + %{?with_storage_gdbm:--with-gdbm} \ + %{?with_storage_memcached:--with-memcached} \ + %{?with_valgrind:--with-valgrind} \ %{?with_webdav_locks:--with-webdav-locks} \ - %{?with_gamin:--with-gamin} \ - %{?with_gdbm:--with-gdbm} + %{?with_webdav_props:--with-webdav-props} \ + %{?with_xattr:--with-attr} \ + --libdir=%{pkglibdir} # -j1 as src/mod_ssi_exprparser.h regeneration deps are broken %{__make} -j1 @@ -1005,11 +1062,10 @@ export LIGHTTPD_TEST_PORT=$((2048 + RANDOM % 10)) %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 \ - $RPM_BUILD_ROOT/var/cache/lighttpd/mod_compress \ $RPM_BUILD_ROOT{%{systemdtmpfilesdir},%{systemdunitdir}} %{__make} install \ @@ -1055,6 +1111,9 @@ cp -p %{SOURCE113} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_flv_streaming.con %if %{with geoip} cp -p %{SOURCE140} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_geoip.conf %endif +%if %{with maxminddb} +cp -p %{SOURCE147} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_maxminddb.conf +%endif %if %{with ldap} cp -p %{SOURCE141} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_authn_ldap.conf %endif @@ -1087,12 +1146,11 @@ 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 %{SOURCE146} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/50_mod_sockproxy.conf 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 -cp -p %{SOURCE106} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/60_mod_compress.conf - cp -p %{SOURCE101} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/90_mod_accesslog.conf cp -p %{SOURCE135} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/91_mod_extforward.conf @@ -1103,7 +1161,6 @@ cp -p %{SOURCE132} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/ssl.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 touch $RPM_BUILD_ROOT/var/log/%{name}/{access,error,breakage}.log @@ -1184,7 +1241,6 @@ fi %module_scripts mod_authn_mysql %module_scripts mod_cgi %module_scripts mod_cml -%module_scripts mod_compress %module_scripts mod_deflate %module_scripts mod_dirlisting %module_scripts mod_evasive @@ -1197,6 +1253,7 @@ fi %module_scripts mod_h264_streaming %module_scripts mod_indexfile %module_scripts mod_magnet +%module_scripts mod_maxminddb %module_scripts mod_mysql_vhost %module_scripts mod_openssl %module_scripts mod_proxy @@ -1206,6 +1263,7 @@ fi %module_scripts mod_secdownload %module_scripts mod_setenv %module_scripts mod_simple_vhost +%module_scripts mod_sockproxy %module_scripts mod_ssi %module_scripts mod_staticfile %module_scripts mod_status @@ -1245,6 +1303,7 @@ fi %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 @@ -1278,9 +1337,6 @@ fi # rrdtool database is stored there %dir %attr(771,root,lighttpd) /var/lib/lighttpd -# mod_compress can put cached files there -%dir /var/cache/lighttpd - %files mod_access %defattr(644,root,root,755) %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_access.conf @@ -1339,13 +1395,6 @@ fi %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_cml.conf %attr(755,root,root) %{pkglibdir}/mod_cml.so -%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) %{pkglibdir}/mod_compress.so -%dir %attr(775,root,lighttpd) /var/cache/lighttpd/mod_compress - %files mod_deflate %defattr(644,root,root,755) %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_deflate.conf @@ -1410,6 +1459,13 @@ fi %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_magnet.conf %attr(755,root,root) %{pkglibdir}/mod_magnet.so +%if %{with maxminddb} +%files mod_maxminddb +%defattr(644,root,root,755) +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_maxminddb.conf +%attr(755,root,root) %{pkglibdir}/mod_maxminddb.so +%endif + %if %{with mysql} %files mod_mysql_vhost %defattr(644,root,root,755) @@ -1463,6 +1519,11 @@ fi %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_simple_vhost.conf %attr(755,root,root) %{pkglibdir}/mod_simple_vhost.so +%files mod_sockproxy +%defattr(644,root,root,755) +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_sockproxy.conf +%attr(755,root,root) %{pkglibdir}/mod_sockproxy.so + %files mod_ssi %defattr(644,root,root,755) %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*mod_ssi.conf @@ -1504,12 +1565,19 @@ fi %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)