]> TLD Linux GIT Repositories - packages/apache.git/blobdiff - apache.spec
- updated to 2.4.59
[packages/apache.git] / apache.spec
index 093f1f69bf60098667a9e9beb5bbb70863681c90..09bf5b13a2289c7765a0b50a19b287a1759442c0 100644 (file)
@@ -1,15 +1,15 @@
 # TODO:
 # - config examples for mod_*
 # - --with-suexec-uidmin=500 or =1000 ?
-# - check those autn modules inner deps
+# - check those authn modules inner deps
 # - for external packages: don't use any apache module name in dep as they
-#  differ for apache 1.3/2.0/2.2!? any better ideas? rpm Suggests: tags?
-# - for mod_auth_* modules require each auth module to require virtual authn so at least *_core
-#  is chosen?
+#   differ for apache 1.3/2.0/2.2!? any better ideas? rpm Suggests: tags?
+# - for mod_auth_* modules require each auth module to require virtual authn so at least *_core is chosen?
 # - same for mod_authz
 # - mod_auth_digest and mod_auth_basic R: apache(authn) ?
 # - drop mod_case_filter* or find summary and description for them
 # - FYI: http://wiki.apache.org/httpd/InternalDummyConnection
+# - consider modules: mod_authnz_fcgi, mod_socache_dc (distcache bcond)
 
 # Conditional build:
 %bcond_without ssl             # build without SSL support
 # this is internal macro, don't change to %%apache_modules_api
 %define                _apache_modules_api 20120211
 
-%define                openssl_ver     1.0.2
-%define                apr_ver         1:1.6.0
-%define                apr_util_ver    1:1.6.0
+%define                openssl_ver     1.1.1
+%define                apr_ver         1:1.7.0
+%define                apr_util_ver    1:1.6.1
 
-%include       /usr/lib/rpm/macros.perl
 Summary:       The most widely used Web server on the Internet
 Summary(de.UTF-8):     Leading World Wide Web-Server
 Summary(es.UTF-8):     Servidor HTTPD para proveer servicios WWW
@@ -35,12 +34,12 @@ Summary(pt_BR.UTF-8):       Servidor HTTPD para prover serviços WWW
 Summary(ru.UTF-8):     Самый популярный веб-сервер
 Summary(tr.UTF-8):     Lider WWW tarayıcı
 Name:          apache
-Version:       2.4.29
+Version:       2.4.59
 Release:       1
 License:       Apache v2.0
 Group:         Networking/Daemons/HTTP
 Source0:       http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
-# Source0-md5: 0c599404ef6b69eee95bcd9fcd094407
+# Source0-md5: 9f77eb01b2fddfb4b32d469af90fb01b
 Source1:       %{name}.init
 Source2:       %{name}.logrotate
 Source3:       %{name}.sysconfig
@@ -71,6 +70,7 @@ Source27:     %{name}-mod_mime_magic.conf
 Source28:      %{name}-mod_cache.conf
 Source29:      %{name}-example.net.conf
 Source32:      %{name}-mod_http2.conf
+Source33:      %{name}-mod_md.conf
 Patch0:                %{name}-configdir_skip_backups.patch
 Patch1:                %{name}-layout.patch
 Patch2:                %{name}-suexec.patch
@@ -96,11 +96,13 @@ BuildRequires:      apr-devel >= %{apr_ver}
 BuildRequires: apr-util-devel >= %{apr_util_ver}
 BuildRequires: autoconf >= 2.50
 BuildRequires: automake
+BuildRequires: curl-devel
 %{?with_distcache:BuildRequires:       distcache-devel}
+BuildRequires: jansson-devel
 BuildRequires: libbrotli-devel >= 0.6.0
 BuildRequires: libtool >= 2:1.5
 BuildRequires: libxml2-devel >= 2
-BuildRequires: lua53-devel >= 5.3
+BuildRequires: lua54-devel >= 5.4
 %{?with_http2:BuildRequires:   nghttp2-devel >= 1.15.0}
 %{?with_ldap:BuildRequires:    openldap-devel >= 2.3.0}
 %{?with_ssl:BuildRequires:     openssl-devel >= %{openssl_ver}}
@@ -629,7 +631,6 @@ URL:                http://httpd.apache.org/docs/2.4/mod/mod_authn_core.html
 Requires:      %{name}-base = %{version}-%{release}
 Provides:      apache(mod_authn_core) = %{version}-%{release}
 Provides:      apache(mod_authn_default) = %{version}-%{release}
-Obsoletes:     apache(mod_authn_alias)
 Obsoletes:     apache-mod_authn_default < %{version}-%{release}
 
 %description mod_authn_core
@@ -1539,7 +1540,7 @@ Summary(pl.UTF-8):        Obsługa HTTP/2 dla serwera HTTP Apache
 Group:         Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/mod/mod_http2.html
 Requires:      %{name}-base = %{version}-%{release}
-Requires:      nghttp2 >= 1.15.0
+Requires:      nghttp2-libs >= 1.15.0
 Provides:      apache(mod_http2) = %{version}-%{release}
 
 %description mod_http2
@@ -1843,6 +1844,29 @@ Apache'a. Makra mogą mieć parametry. Makra są rozwijane w momencie
 użycia (argumenty makra są podstawiane za wartości parametrów), a
 wynik jest przetwarzany jak normalna konfiguracja.
 
+%package mod_md
+Summary:       Managing certificate provisioning via the ACME protocol
+Summary(pl.UTF-8):     Zarządzanie certyfikatami przez protokół ACME
+Group:         Networking/Daemons/HTTP
+URL:           http://httpd.apache.org/docs/2.4/mod/mod_macro.html
+Requires:      %{name}-base = %{version}-%{release}
+Requires:      apache(mod_watchdog) = %{version}-%{release}
+Provides:      apache(mod_md) = %{version}-%{release}
+
+%description mod_md
+This module manages common properties of domains for one or more
+virtual hosts. Specifically it can use the ACME protocol to automate
+certificate provisioning. These will be configured for managed domains
+and their virtual hosts automatically. This includes renewal of
+certificates before they expire.
+
+%description mod_md -l pl.UTF-8
+Moduł zarządzający właściwościami domen dla jednego lub więcej hostów
+wirtualnych. Konkretnie może używać protokołu ACME do automatyzacji
+instalacji certyfikatów. Certyfikaty będą automatycznie aktywowane dla
+zarządzanych domen i hostów wirtualnych w tych domenach. Instalacji
+oraz odnowień certyfikatów przed wygaśnięciem.
+
 %package mod_mime
 Summary:       Associates the requested filename's extensions with the file's behavior and content
 Summary(pl.UTF-8):     Wiązanie określonych rozszerzeń plików z zachowaniem i zawartością
@@ -2308,6 +2332,7 @@ Requires: %{name}-base = %{version}-%{release}
 Provides:      apache(mod_socache) = %{version}-%{release}
 Provides:      apache(mod_socache_dbm) = %{version}-%{release}
 Provides:      apache(mod_socache_memcache) = %{version}-%{release}
+Provides:      apache(mod_socache_redis) = %{version}-%{release}
 Provides:      apache(mod_socache_shmcb) = %{version}-%{release}
 Obsoletes:     apache-mod_socache_dbm
 Obsoletes:     apache-mod_socache_memcache
@@ -2321,6 +2346,10 @@ mod_socache_memcache is a shared object cache provider which provides
 for creation and access to a cache backed by the memcached
 high-performance, distributed memory object caching system.
 
+mod_socache_redis is a shared object cache provider which provides
+for creation and access to a cache backed by the redis
+high-performance, distributed memory object caching system.
+
 mod_socache_shmcb is a shared object cache provider which provides for
 creation and access to a cache backed by a high-performance cyclic
 buffer inside a shared memory segment.
@@ -2330,12 +2359,17 @@ mod_socache_dbm to moduł dostarczający współdzieloną pamięć podręczną
 obiektów, zapewniający tworzenie i dostęp do cache'a zapisywanego w
 bazie DBM.
 
-mod_socache_dbm to moduł dostarczający współdzieloną pamięć podręczną
+mod_socache_memcache to moduł dostarczający współdzieloną pamięć podręczną
 obiektów, zapewniający tworzenie i dostęp do cache'a zapisywanego w
 systemie memcached - wysoko wydajnym, ozproszonym systemie pamięci
 podręcznej obiektów.
 
-mod_socache_dbm to moduł dostarczający współdzieloną pamięć podręczną
+mod_socache_redis to moduł dostarczający współdzieloną pamięć podręczną
+obiektów, zapewniający tworzenie i dostęp do cache'a zapisywanego w
+systemie redis - wysoko wydajnym, ozproszonym systemie pamięci
+podręcznej obiektów.
+
+mod_socache_shmcb to moduł dostarczający współdzieloną pamięć podręczną
 obiektów, zapewniający tworzenie i dostęp do cache'a zapisywanego w
 wysoko wydajnym buforze cyklicznym wewnątrz segmentu pamięci
 dzielonej.
@@ -2663,7 +2697,7 @@ if [ "$MODULES_API" != "%_apache_modules_api" ]; then
        exit 1
 fi
 
-# fix libdir (at least in TLD layout; no need to care about other ones)
+# fix libdir (at least in PLD layout; no need to care about other ones)
 sed -i -e 's,/lib$,/%{_lib},' config.layout
 
 %build
@@ -2688,6 +2722,7 @@ CPPFLAGS="-DMAX_SERVER_LIMIT=200000 -DBIG_SECURITY_HOLE=1"
 install -d build; cd build
 ../%configure \
        --enable-layout=TLD \
+       --disable-systemd \
        --disable-v4-mapped \
        --enable-exception-hook \
        --enable-modules=all \
@@ -2730,6 +2765,7 @@ install -d build; cd build
        --enable-log-forensic \
        --enable-logio \
        --enable-lua \
+       --enable-md \
        --enable-mime-magic \
        --enable-mpms-shared=all \
 %ifarch %{ix86}
@@ -2773,10 +2809,11 @@ install -d build; cd build
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \
        $RPM_BUILD_ROOT%{_var}/{log/{httpd,archive/httpd},{run,cache}/httpd,lock/mod_dav} \
+       $RPM_BUILD_ROOT%{_var}/lib/httpd/md \
        $RPM_BUILD_ROOT%{_sysconfdir}/{webapps.d,conf.d,vhosts.d} \
        $RPM_BUILD_ROOT%{_datadir}/{cgi-bin,vhosts}
 
-%{__make} -C build install \
+%{__make} -j 1 -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
 # clean "ccache" prefix. confuses other build systems (like php)
@@ -2785,6 +2822,8 @@ install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \
 ln -s %{_libexecdir} $RPM_BUILD_ROOT%{_sysconfdir}/modules
 ln -s %{_localstatedir}/run/httpd $RPM_BUILD_ROOT%{_sysconfdir}/run
 ln -s %{_var}/log/httpd $RPM_BUILD_ROOT%{_sysconfdir}/logs
+ln -s %{_var}/lib/httpd/md $RPM_BUILD_ROOT%{_sysconfdir}/md
+
 # we have own apache.conf
 rm $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
 
@@ -2827,6 +2866,8 @@ cp -a %{SOURCE19} $CFG/30_manual.conf
 cp -a %{SOURCE20} $CFG/16_mod_userdir.conf
 cp -a %{SOURCE21} $CFG/10_mpm.conf
 cp -a %{SOURCE22} $CFG/20_languages.conf
+cp -a %{SOURCE33} $CFG/60_mod_md.conf
+
 cp -a %{SOURCE29} $RPM_BUILD_ROOT%{_sysconfdir}/vhosts.d/example.net.conf
 
 LoadModule() {
@@ -2848,11 +2889,11 @@ for module in access_compat actions alias allowmethods asis auth_basic \
        ident imagemap include \
        lbmethod_bybusyness lbmethod_byrequests lbmethod_bytraffic \
        lbmethod_heartbeat ldap log_debug log_forensic logio lua \
-       macro negotiation \
+       macro md negotiation \
        ratelimit reflector remoteip reqtimeout request rewrite \
        sed session_cookie session_crypto session_dbd session setenvif \
        slotmem_plain slotmem_shm socache_dbm socache_memcache \
-       socache_shmcb speling substitute \
+       socache_redis socache_shmcb speling substitute \
        unique_id usertrack version watchdog xml2enc; do
 
        LoadModule 00 $module
@@ -2874,7 +2915,7 @@ s/^.*\.\(pt-br\)/%%lang(pt_BR) &/
 cd $cur
 
 # htpasswd goes to %{_bindir}
-ln -sf %{_bindir}/htpasswd $RPM_BUILD_ROOT%{_sbindir}
+ln -sfr $RPM_BUILD_ROOT%{_bindir}/htpasswd $RPM_BUILD_ROOT%{_sbindir}
 
 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/apxs
 
@@ -2902,7 +2943,7 @@ rm -rf $RPM_BUILD_ROOT
 %useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
 
 %pretrans base
-# handle $HTTPD_MPM from sysconfig
+# upgrade to 2.4: handle $HTTPD_MPM from sysconfig
 if [ -f /etc/sysconfig/httpd ]; then
        MPM=$(grep ^HTTPD_MPM /etc/sysconfig/httpd | sed 's,HTTPD_MPM=,,;s,",,g')
        if [ -n "$MPM" ]; then
@@ -2932,13 +2973,12 @@ if [ "$1" = "0" ]; then
        %groupremove http
 fi
 
-%triggerpostun base -- %{name}-base < 2.2.22-2
+%triggerpostun base -- %{name}-base < 2.4.0
 . /etc/sysconfig/httpd
 if [ -z "$HTTPD_CONF" ]; then
        echo 'HTTPD_CONF="/etc/httpd/apache.conf"' >> /etc/sysconfig/httpd
 fi
 
-%triggerpostun base -- %{name}-base < 2.4.0
 cp -f /etc/httpd/apache.conf{,.rpmsave}
 sed -i -e '
        /^DefaultType/d
@@ -3059,6 +3099,7 @@ fi
 %module_scripts mod_logio
 %module_scripts mod_lua
 %module_scripts mod_macro
+%module_scripts mod_md
 %module_scripts mod_mime
 %module_scripts mod_mime_magic
 %module_scripts mod_negotiation
@@ -3138,6 +3179,7 @@ fi
 %attr(755,root,root) %{_sbindir}/checkgid
 %attr(755,root,root) %{_sbindir}/httpd
 
+%dir %attr(710,root,http) /var/lib/httpd
 %dir %attr(770,root,http) /var/run/httpd
 %dir %attr(770,root,http) /var/cache/httpd
 
@@ -3152,7 +3194,7 @@ fi
 %dir %{_datadir}/cgi-bin
 %dir %{_datadir}/html
 %dir %{_datadir}/vhosts
-# do not adapter here, %{_datadir} != /usr/share here
+# do not adapter here, %%{_datadir} != /usr/share here
 %{_datadir}/icons
 %attr(755,root,root) %{_libexecdir}/mod_mpm_event.so
 %attr(755,root,root) %{_libexecdir}/mod_mpm_prefork.so
@@ -3549,6 +3591,13 @@ fi
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_macro.conf
 %attr(755,root,root) %{_libexecdir}/mod_macro.so
 
+%files mod_md
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_md.conf
+%attr(755,root,root) %{_libexecdir}/mod_md.so
+%attr(710,root,http) %dir /var/lib/httpd/md
+%{_sysconfdir}/md
+
 %files mod_mime
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libexecdir}/mod_mime.so
@@ -3581,6 +3630,7 @@ fi
 %attr(755,root,root) %{_libexecdir}/mod_proxy_http.so
 %attr(755,root,root) %{_libexecdir}/mod_proxy_http2.so
 %attr(755,root,root) %{_libexecdir}/mod_proxy_scgi.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_uwsgi.so
 %attr(755,root,root) %{_libexecdir}/mod_proxy_wstunnel.so
 %attr(755,root,root) %{_libexecdir}/mod_proxy.so
 %{_mandir}/man8/fcgistarter.8*
@@ -3658,9 +3708,11 @@ fi
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_socache_dbm.conf
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_socache_memcache.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_socache_redis.conf
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_socache_shmcb.conf
 %attr(755,root,root) %{_libexecdir}/mod_socache_dbm.so
 %attr(755,root,root) %{_libexecdir}/mod_socache_memcache.so
+%attr(755,root,root) %{_libexecdir}/mod_socache_redis.so
 %attr(755,root,root) %{_libexecdir}/mod_socache_shmcb.so
 
 %files mod_speling