# 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
Summary(ru.UTF-8): Самый популярный веб-сервер
Summary(tr.UTF-8): Lider WWW tarayıcı
Name: apache
-Version: 2.4.33
-Release: 2
+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: 6ef469d3f16fffeb688bc6e0346823e5
+# Source0-md5: 9f77eb01b2fddfb4b32d469af90fb01b
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: %{name}.sysconfig
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}}
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
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
%description mod_md -l pl.UTF-8
Moduł zarządzający właściwościami domen dla jednego lub więcej hostów
-wirtualnych. Może używać protokołu ACME do automatyzacji obsługi
-certyfikatów. Certyfikaty będą automatycznie aktywowane dla
-zarządzanych domen i hostów wirtualnych w tych domenach. Będą również
-automatycznie odnawianie przed wygaśnięciem.
+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
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
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.
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.
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
install -d build; cd build
../%configure \
--enable-layout=TLD \
+ --disable-systemd \
--disable-v4-mapped \
--enable-exception-hook \
--enable-modules=all \
--enable-log-forensic \
--enable-logio \
--enable-lua \
+ --enable-md \
--enable-mime-magic \
--enable-mpms-shared=all \
%ifarch %{ix86}
$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)
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
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
%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
%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
%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
%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