]> TLD Linux GIT Repositories - packages/apache.git/blobdiff - apache.spec
- updated to 2.4.59
[packages/apache.git] / apache.spec
index 06064245b2dd7035f790675c126f1389fa24663c..09bf5b13a2289c7765a0b50a19b287a1759442c0 100644 (file)
@@ -1,30 +1,30 @@
-# TODO:
+# 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
 %bcond_without ldap            # build without LDAP support
-%bcond_with    itk             # ITK MPM
 %bcond_with    distcache       # distcache support
 %bcond_with    bucketeer       # debug one
+%bcond_without http2           # HTTP/2 support
 
 # this is internal macro, don't change to %%apache_modules_api
 %define                _apache_modules_api 20120211
 
-%define                openssl_ver     1.0.1e
-%define                apr_ver         1:1.4.6
+%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
@@ -34,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.4
-Release:       5
+Version:       2.4.59
+Release:       1
 License:       Apache v2.0
 Group:         Networking/Daemons/HTTP
-Source0:       http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz
-# Source0-md5: a2fed766e67c9681e0d9b86768f08286
+Source0:       http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
+# Source0-md5: 9f77eb01b2fddfb4b32d469af90fb01b
 Source1:       %{name}.init
 Source2:       %{name}.logrotate
 Source3:       %{name}.sysconfig
@@ -69,15 +69,13 @@ Source26:   %{name}-mod_log_config.conf
 Source27:      %{name}-mod_mime_magic.conf
 Source28:      %{name}-mod_cache.conf
 Source29:      %{name}-example.net.conf
-Source30:      %{name}.tmpfiles
-Source31:      %{name}.service
+Source32:      %{name}-mod_http2.conf
+Source33:      %{name}-mod_md.conf
 Patch0:                %{name}-configdir_skip_backups.patch
 Patch1:                %{name}-layout.patch
 Patch2:                %{name}-suexec.patch
 Patch3:                %{name}-branding.patch
 Patch4:                %{name}-apr.patch
-Patch5:                httpd-dummy-connection-result.patch
-
 Patch7:                %{name}-syslibs.patch
 
 Patch10:       httpd-2.0.46-dav401dest.patch
@@ -86,22 +84,26 @@ Patch15:    httpd-2.0.48-debuglog.patch
 Patch18:       %{name}-v6only-ENOPROTOOPT.patch
 Patch19:       %{name}-conffile-path.patch
 Patch20:       %{name}-apxs.patch
+# Relaxed version of suexec. If called as suexec.fcgi don't check uid/gid against file owner.
+# Required by our patched mod_fcgid to run php as fcgi via suexec.
 Patch23:       %{name}-suexec_fcgi.patch
 # http://scripts.mit.edu/trac/browser/trunk/server/common/patches/httpd-2.2.x-mod_ssl-sessioncaching.patch?rev=1348
 Patch25:       httpd-2.2.x-mod_ssl-sessioncaching.patch
 Patch26:       %{name}-mod_vhost_alias_docroot.patch
-# http://mpm-itk.sesse.net/
-Patch28:       %{name}-mpm-itk.patch
 Patch29:       libtool-tag.patch
-Patch30:       lua-lib.patch
 URL:           http://httpd.apache.org/
 BuildRequires: apr-devel >= %{apr_ver}
-BuildRequires: apr-util-devel >= 1:1.3.10-2
+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: lua51-devel
+BuildRequires: libxml2-devel >= 2
+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}}
 %{?with_ssl:BuildRequires:     openssl-tools >= %{openssl_ver}}
@@ -116,13 +118,22 @@ BuildRequires:    zlib-devel
 Requires:      %{name}-errordocs = %{version}-%{release}
 Requires:      %{name}-mod_alias = %{version}-%{release}
 Requires:      %{name}-mod_auth = %{version}-%{release}
+Requires:      %{name}-mod_autoindex = %{version}-%{release}
+Requires:      %{name}-mod_deflate = %{version}-%{release}
+Requires:      %{name}-mod_dir = %{version}-%{release}
 Requires:      %{name}-mod_env = %{version}-%{release}
+Requires:      %{name}-mod_filter = %{version}-%{release}
+Requires:      %{name}-mod_headers = %{version}-%{release}
 Requires:      %{name}-mod_log_config = %{version}-%{release}
+Requires:      %{name}-mod_logio = %{version}-%{release}
 Requires:      %{name}-mod_mime = %{version}-%{release}
 Requires:      %{name}-mod_mime_magic = %{version}-%{release}
 Requires:      %{name}-mod_negotiation = %{version}-%{release}
+Requires:      %{name}-mod_reqtimeout = %{version}-%{release}
+Requires:      %{name}-mod_rewrite = %{version}-%{release}
 Requires:      %{name}-mod_setenvif = %{version}-%{release}
 Requires:      %{name}-mod_speling = %{version}-%{release}
+Requires:      %{name}-mod_status = %{version}-%{release}
 Requires:      %{name}-mod_userdir = %{version}-%{release}
 Requires:      %{name}-mod_version = %{version}-%{release}
 Requires:      %{name}-tools = %{version}-%{release}
@@ -187,13 +198,12 @@ Requires(pre):    /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(post,preun,postun):   systemd-units >= 38
 Requires:      /sbin/chkconfig
 Requires:      apr >= %{apr_ver}
+Requires:      apr-util >= %{apr_util_ver}
 Requires:      psmisc >= 20.1
 Requires:      rc-scripts >= 0.4.1.23
 Requires:      sed >= 4.0
-Requires:      systemd-units >= 38
 Provides:      apache(modules-api) = %{_apache_modules_api}
 Provides:      group(http)
 Provides:      user(http)
@@ -257,6 +267,9 @@ Summary(pl.UTF-8):  Pliki Apache index.html*
 Group:         Documentation
 Requires:      %{name}-base = %{version}-%{release}
 Obsoletes:     indexhtml
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description index
 Apache index.html* files.
@@ -273,6 +286,9 @@ Requires:   %{name}-mod_alias = %{version}-%{release}
 Requires:      %{name}-mod_dir = %{version}-%{release}
 Requires:      %{name}-mod_negotiation = %{version}-%{release}
 Requires:      %{name}-mod_setenvif = %{version}-%{release}
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description doc
 Apache manual.
@@ -290,6 +306,9 @@ Requires:   %{name}-mod_alias = %{version}-%{release}
 Requires:      %{name}-mod_authz_host = %{version}-%{release}
 Requires:      %{name}-mod_include = %{version}-%{release}
 Requires:      %{name}-mod_negotiation = %{version}-%{release}
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description errordocs
 Multi-language error messages.
@@ -305,7 +324,7 @@ Summary(pl.UTF-8):  Pliki nagłówkowe do tworzenia modułów rozszerzeń do serw
 Summary(pt_BR.UTF-8):  Arquivos de inclusão do Apache para desenvolvimento de módulos
 Summary(ru.UTF-8):     Средства разработки модулей для веб-сервера Apache
 Group:         Networking/Utilities
-Requires:      apr-util-devel >= 1:1.2
+Requires:      apr-util-devel >= %{apr_util_ver}
 Requires:      libtool
 Obsoletes:     apache-apxs
 Obsoletes:     apache-static
@@ -551,13 +570,10 @@ Requires: %{name}-base = %{version}-%{release}
 Provides:      apache(mod_auth_digest) = %{version}-%{release}
 
 %description mod_auth_digest
-This module implements HTTP Digest Authentication. However, it has not
-been extensively tested and is therefore marked experimental.
+This module implements HTTP Digest Authentication.
 
 %description mod_auth_digest -l pl.UTF-8
-Ten moduł implementuje uwierzytelnienie HTTP Digest. Nie został on
-jednak zbyt obszernie przetestowany, więc jest oznaczony jako
-eksperymentalny.
+Ten moduł implementuje uwierzytelnienie HTTP Digest.
 
 %package mod_auth_form
 Summary:       Form authentication
@@ -615,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
@@ -711,8 +726,9 @@ Summary(pl.UTF-8):  Moduł Apache'a umożliwiający przechowywanie danych dla uwi
 Group:         Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html
 Requires:      %{name}-base = %{version}-%{release}
+Requires:      %{name}-mod_authn_core = %{version}-%{release}
 Requires:      %{name}-mod_ldap = %{version}-%{release}
-Requires:      apr-util-ldap
+Requires:      apr-util-ldap >= %{apr_util_ver}
 Provides:      apache(mod_authnz_ldap) = %{version}-%{release}
 # compat
 Provides:      apache(mod_auth_ldap) = %{version}-%{release}
@@ -903,7 +919,7 @@ WWW dla uwierzytelnionych użytkowników.
 
 %package mod_autoindex
 Summary:       Apache module - display index of files
-Summary(pl.UTF-8):     Moduł apache do wyświetlania indeksu plików
+Summary(pl.UTF-8):     Moduł Apache'a do wyświetlania indeksu plików
 Group:         Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/en/mod/mod_autoindex.html
 Requires:      %{name}-base = %{version}-%{release}
@@ -917,8 +933,27 @@ index of files.
 %description mod_autoindex -l pl.UTF-8
 Ten pakiet dostarcza moduł autoindex, który generuje indeks plików.
 
+%package mod_brotli
+Summary:       Apache module: compress content via Brotli before it is delivered to the client
+Summary(pl.UTF-8):     Moduł Apache'a kompresujący treść przy użyciu formatu Brotli przed wysłaniem do klienta
+Group:         Networking/Daemons/HTTP
+URL:           http://httpd.apache.org/docs/2.4/mod/mod_brotli.html
+Requires:      %{name}-base = %{version}-%{release}
+Requires:      libbrotli >= 0.6.0
+Provides:      apache(mod_brotli) = %{version}-%{release}
+
+%description mod_brotli
+The mod_brotli module provides the BROTLI_COMPRESS output filter that
+allows output from your server to be compressed using the brotli
+compression format before being sent to the client over the network.
+
+%description mod_brotli -l pl.UTF-8
+Moduł mod_brotli udostępnia filtr wyjściowy BROTLI_COMPRESS,
+pozwalający na kompresowanie wyjścia z serwera przy użyciu formatu
+kompresji brotli przed wysłaniem przez sieć do klienta.
+
 %package mod_bucketeer
-Summary:       buckets manipulation filter
+Summary:       Buckets manipulation filter
 Summary(pl.UTF-8):     Dzielenie kubełków po znalezieniu znaku sterującego
 Group:         Networking/Daemons/HTTP
 Requires:      %{name}-base = %{version}-%{release}
@@ -1125,16 +1160,12 @@ Specify character set translation or recoding.
 This module provides a small subset of configuration mechanisms
 implemented by Russian Apache and its associated mod_charset.
 
-This is an experimental module and should be used with care.
-
 %description mod_charset_lite -l pl.UTF-8
 Translacja lub przekodowywanie znaków.
 
 Ten moduł udostępnia niewielki podzbiór mechanizmów konfiguracyjnych
 zaimplementowanych przez Russian Apache i powiązany z nim mod_charset.
 
-Jest to moduł eksperymentalny i należy używać go z uwagą.
-
 %package mod_data
 Summary:       Convert response body into an RFC2397 data URL
 Summary(pl.UTF-8):     Konwersja ciała odpowiedzi do URL-a danych RFC2397
@@ -1168,9 +1199,7 @@ Summary(pl.UTF-8):        Moduł Apache'a - rozproszone autorstwo i wersjonowanie
 Group:         Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/en/mod/mod_dav.html
 Requires:      %{name}-base = %{version}-%{release}
-Requires:      apache-mod_authn_file
-Requires:      apache-mod_setenvif
-Requires:      apr-util-dbm-db
+Requires:      apr-util-dbm-db >= %{apr_util_ver}
 Provides:      apache(mod_dav) = %{version}-%{release}
 
 %description mod_dav
@@ -1212,8 +1241,8 @@ Summary(pl.UTF-8):        Moduł Apache'a kompresujący dane przed przesłaniem ich do
 Group:         Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/mod/mod_deflate.html
 Requires:      %{name}-base = %{version}-%{release}
-Requires:      %{name}-mod_headers = %{version}-%{release}
 Requires:      %{name}-mod_filter = %{version}-%{release}
+Requires:      %{name}-mod_headers = %{version}-%{release}
 Provides:      apache(mod_deflate) = %{version}-%{release}
 
 %description mod_deflate
@@ -1437,6 +1466,7 @@ Group:            Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/mod/mod_headers.html
 Requires:      %{name}-base = %{version}-%{release}
 Provides:      apache(mod_headers) = %{version}-%{release}
+Provides:      webserver(headers)
 
 %description mod_headers
 This package contains mod_headers module. The module allows for the
@@ -1504,6 +1534,22 @@ Ten moduł wykorzystuje usługi modułu mod_slotmem_shm (jeśli jest
 dostępny) zamiast przechowywania danych w płaskich plikach. Do
 używania tego modułu nie jest wymagana żadna konfiguracja.
 
+%package mod_http2
+Summary:       Provide HTTP/2 support for the Apache HTTP Server
+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-libs >= 1.15.0
+Provides:      apache(mod_http2) = %{version}-%{release}
+
+%description mod_http2
+This module provides HTTP/2 (RFC 7540) support for the Apache HTTP
+Server.
+
+%description mod_http2 -l pl.UTF-8
+Ten moduł zapewnia obsługę HTTP/2 (RFC 7540) dla serwera HTTP Apache.
+
 %package mod_ident
 Summary:       RFC 1413 ident lookups
 Summary(pl.UTF-8):     Sprawdzanie identyfikacji RFC 1413
@@ -1767,8 +1813,8 @@ This module allows the server to be extended with scripts written in
 the Lua programming language. The extension points (hooks) available
 with mod_lua include many of the hooks available to natively compiled
 Apache HTTP Server modules, such as mapping requests to files,
-generating dynamic responses, access control, authentication,
-and authorization.
+generating dynamic responses, access control, authentication, and
+authorization.
 
 %description mod_lua -l pl.UTF-8
 Ten moduł pozwala na rozszerzanie serwera poprzez skrypty napisane w
@@ -1778,6 +1824,49 @@ modułach serwera HTTP Apache, takich jak odwzorowywanie żądań na
 pliki, generowanie dynamicznych odpowiedzi, kontrola dostępu,
 uwierzytelnianie i autoryzacja.
 
+%package mod_macro
+Summary:       Provides macros within Apache runtime configuration files
+Summary(pl.UTF-8):     Makra wewnątrz klików konfiguracyjnych Apache'a
+Group:         Networking/Daemons/HTTP
+URL:           http://httpd.apache.org/docs/2.4/mod/mod_macro.html
+Requires:      %{name}-base = %{version}-%{release}
+Provides:      apache(mod_macro) = %{version}-%{release}
+
+%description mod_macro
+This module provides macros within Apache runtime configuration files.
+These macros have parameters. They are expanded when used (parameters
+are substituted by their values given as an argument), and the result
+is processed normally.
+
+%description mod_macro -l pl.UTF-8
+Ten moduł umożliwia tworzenie makr wewnątrz plików konfiguracyjnych
+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ą
@@ -1953,7 +2042,6 @@ Group:            Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html
 Requires:      %{name}-base = %{version}-%{release}
 Provides:      apache(mod_reqtimeout) = %{version}-%{release}
-Provides:      webserver(reqtimeout)
 
 %description mod_reqtimeout
 Apache module to set timeout and minimum data rate for receiving
@@ -2112,6 +2200,7 @@ Group:            Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/mod/mod_session_crypto.html
 Requires:      %{name}-base = %{version}-%{release}
 Requires:      %{name}-mod_session = %{version}-%{release}
+Requires:      apr-util-crypto-openssl >= %{apr_util_ver}
 Provides:      apache(mod_session_crypto) = %{version}-%{release}
 
 %description mod_session_crypto
@@ -2187,15 +2276,20 @@ zależności od różnych aspektów żądania pasujących do podanych wyrażeń
 regularnych. Te zmienne środowiskowe mogą być używane przez inne
 części serwera do podejmowania decyzji o podejmowanych akcjach.
 
-%package mod_slotmem_plain
+%package mod_slotmem
 Summary:       Slot-based shared memory provider
 Summary(pl.UTF-8):     Moduł zapewniający pamięć dzieloną w oparciu o sloty
 Group:         Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/mod/mod_slotmem_plain.html
+#URL:          http://httpd.apache.org/docs/2.4/mod/mod_slotmem_shm.html
 Requires:      %{name}-base = %{version}-%{release}
+Provides:      apache(mod_slotmem) = %{version}-%{release}
 Provides:      apache(mod_slotmem_plain) = %{version}-%{release}
+Provides:      apache(mod_slotmem_shm) = %{version}-%{release}
+Obsoletes:     apache-mod_slotmem_plain
+Obsoletes:     apache-mod_slotmem_shm
 
-%description mod_slotmem_plain
+%description mod_slotmem
 mod_slotmem_plain is a memory provider which provides for creation and
 access to a plain memory segment in which the datasets are organized
 in "slots."
@@ -2203,23 +2297,6 @@ in "slots."
 If the memory needs to be shared between threads and processes, a
 better provider would be mod_slotmem_shm.
 
-%description mod_slotmem_plain -l pl.UTF-8
-mod_slotmem_plain to moduł dostarczający pamięć, pozwalający na
-tworzenie i dostęp do segmentu zwykłej pamięci, w której zbiory danych
-są zorganizowane w "sloty".
-
-Jeśli pamięć musi być dzielona między wątki i procesy, lepszym
-rozwiązaniem będzie mod_slotmem_shm.
-
-%package mod_slotmem_shm
-Summary:       Slot-based shared memory provider
-Summary(pl.UTF-8):     Moduł zapewniający pamięć dzieloną w oparciu o sloty
-Group:         Networking/Daemons/HTTP
-URL:           http://httpd.apache.org/docs/2.4/mod/mod_slotmem_shm.html
-Requires:      %{name}-base = %{version}-%{release}
-Provides:      apache(mod_slotmem_shm) = %{version}-%{release}
-
-%description mod_slotmem_shm
 mod_slotmem_shm is a memory provider which provides for creation and
 access to a shared memory segment in which the datasets are organized
 in "slots."
@@ -2228,7 +2305,14 @@ All shared memory is cleared and cleaned with each restart, whether
 graceful or not. The data itself is stored and restored within a file
 noted by the name parameter in the create and attach calls.
 
-%description mod_slotmem_shm -l pl.UTF-8
+%description mod_slotmem -l pl.UTF-8
+mod_slotmem_plain to moduł dostarczający pamięć, pozwalający na
+tworzenie i dostęp do segmentu zwykłej pamięci, w której zbiory danych
+są zorganizowane w "sloty".
+
+Jeśli pamięć musi być dzielona między wątki i procesy, lepszym
+rozwiązaniem będzie mod_slotmem_shm.
+
 mod_slotmem_plain to moduł dostarczający pamięć, pozwalający na
 tworzenie i dostęp do segmentu pamięci dzielonej, w której zbiory
 danych są zorganizowane w "sloty".
@@ -2237,58 +2321,56 @@ Cała pamięć współdzielona jest czyszczona przy każdym restarcie. Same
 dane są zapisywane i odtwarzane z pliku o nazwie podawanej jako
 parametr przy wywołaniach tworzenia i podłączania.
 
-%package mod_socache_dbm
-Summary:       DBM based shared object cache provider
-Summary(pl.UTF-8):     Moduł zapewniający współdzieloną pamięć podręczną obiektów w oparciu o DBM
+%package mod_socache
+Summary:       Shared object cache provider
+Summary(pl.UTF-8):     Moduł zapewniający współdzieloną pamięć podręczną obiektów
 Group:         Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/mod/mod_socache_dbm.html
+#URL:          http://httpd.apache.org/docs/2.4/mod/mod_socache_memcache.html
+#URL:          http://httpd.apache.org/docs/2.4/mod/mod_socache_shmcb.htm
 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
+Obsoletes:     apache-mod_socache_shmcb
 
-%description mod_socache_dbm
+%description mod_socache
 mod_socache_dbm is a shared object cache provider which provides for
 creation and access to a cache backed by a DBM database.
 
-%description mod_socache_dbm -l pl.UTF-8
-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.
-
-%package mod_socache_memcache
-Summary:       Memcache based shared object cache provider
-Summary(pl.UTF-8):     Moduł zapewniający współdzieloną pamięć podręczną obiektów w oparciu o memcache
-Group:         Networking/Daemons/HTTP
-URL:           http://httpd.apache.org/docs/2.4/mod/mod_socache_memcache.html
-Requires:      %{name}-base = %{version}-%{release}
-Provides:      apache(mod_socache_memcache) = %{version}-%{release}
-
-%description mod_socache_memcache
 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.
 
-%description mod_socache_memcache -l pl.UTF-8
-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
-systemie memcached - wysoko wydajnym, ozproszonym systemie pamięci
-podręcznej obiektów.
-
-%package mod_socache_shmcb
-Summary:       shmcb based shared object cache provider
-Summary(pl.UTF-8):     Moduł zapewniający współdzieloną pamięć podręczną obiektów w oparciu o shmcb
-Group:         Networking/Daemons/HTTP
-URL:           http://httpd.apache.org/docs/2.4/mod/mod_socache_shmcb.html
-Requires:      %{name}-base = %{version}-%{release}
-Provides:      apache(mod_socache_shmcb) = %{version}-%{release}
+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.
 
-%description mod_socache_shmcb
 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.
 
-%description mod_socache_shmcb -l pl.UTF-8
+%description mod_socache -l pl.UTF-8
 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_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_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.
 
@@ -2330,9 +2412,9 @@ Epoch:            1
 Group:         Networking/Daemons/HTTP
 URL:           http://httpd.apache.org/docs/2.4/mod/mod_ssl.html
 Requires:      %{name}-base = %{version}-%{release}
-Requires:      %{name}-mod_socache_shmcb = %{version}-%{release}
+Requires:      apr-util-dbm-db >= %{apr_util_ver}
 Requires:      openssl >= %{openssl_ver}
-Requires:      apr-util-dbm-db
+Suggests:      %{name}-mod_socache = %{version}-%{release}
 Provides:      apache(mod_ssl) = 1:%{version}-%{release}
 
 %description mod_ssl
@@ -2573,6 +2655,9 @@ Summary(pl.UTF-8):        Programy testowe/przykładowe cgi
 Group:         Networking/Utilities
 Requires:      %{name}-base = %{version}-%{release}
 Requires:      filesystem >= 2.0-1
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description cgi_test
 Two cgi test/demo programs: test-cgi and print-env.
@@ -2587,7 +2672,6 @@ Dwa programy testowe/przykładowe cgi: test-cgi and print-env.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
 
 %patch7 -p1
 
@@ -2598,17 +2682,13 @@ Dwa programy testowe/przykładowe cgi: test-cgi and print-env.
 %patch18 -p1
 %patch19 -p1
 %patch20 -p1
-# ?
-#%patch23 -p1
+%patch23 -p1
 
 # ?
 #%patch25 -p1
 # ?
 #%patch26 -p1
-# probably drop
-#%patch28 -p1
 %patch29 -p1
-%patch30 -p1
 
 # sanity check
 MODULES_API=`awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' include/ap_mmn.h`
@@ -2617,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
@@ -2642,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 \
@@ -2650,62 +2731,69 @@ install -d build; cd build
        --enable-auth-dbm \
        --enable-authn-dbd \
        --enable-authn-alias \
+       %{?with_ldap:--enable-authnz-ldap} \
        --enable-authz-dbm \
        --enable-authz-owner \
-       %{?with_ldap:--enable-authnz-ldap} \
        --enable-auth-digest \
-       --enable-file-cache \
+       %{?with_bucketeer:--enable-bucketeer} \
        --enable-cache \
        --enable-disk-cache \
+       --enable-file-cache \
        --enable-mem-cache \
-       --enable-dbd \
-       %{?with_bucketeer:--enable-bucketeer} \
-       --enable-dumpio \
-       --enable-echo \
+       --enable-cern-meta \
+       --enable-cgi \
+       --enable-cgid \
        --enable-charset-lite \
+       --enable-dbd \
        --enable-deflate \
-       %{?with_ldap:--enable-ldap} \
-       --enable-ext-filter \
+       --enable-dumpio \
        --enable-case-filter \
        --enable-case-filter-in \
+       --enable-dav \
+       --enable-dav-fs \
+       --enable-dav-lock \
+       --enable-echo \
+       --enable-ext-filter \
+       --enable-expires \
+       --enable-headers \
+       --enable-http \
+       %{__enable_disable http2} \
+       --enable-ident \
+       --enable-imagemap \
+       --enable-info \
+       %{?with_ldap:--enable-ldap} \
        --enable-log-forensic \
        --enable-logio \
        --enable-lua \
-       --with-z=%{_prefix} \
+       --enable-md \
        --enable-mime-magic \
-       --enable-cern-meta \
-       --enable-expires \
-       --enable-headers \
-       --enable-ident \
-       --enable-usertrack \
-       --enable-unique-id \
+       --enable-mpms-shared=all \
+%ifarch %{ix86}
+%ifnarch i386 i486
+       --enable-nonportable-atomics=yes \
+%endif
+%endif
        --enable-proxy \
        --enable-proxy-connect \
        --enable-proxy-ftp \
        --enable-proxy-http \
+       --enable-proxy-http2 \
        --enable-proxy-ajp \
        --enable-proxy-balancer \
+       --enable-proxy-fdpass \
+       --enable-rewrite \
+       --enable-so \
+       --enable-speling \
        %{?with_ssl:--enable-ssl %{?with_distcache:--enable-distcache}} \
-       --enable-http \
-       --enable-dav \
-       --enable-info \
        --enable-suexec \
-       --enable-cgi \
-       --enable-cgid \
-       --enable-dav-fs \
-       --enable-dav-lock \
+       --enable-unique-id \
+       --enable-usertrack \
        --enable-vhost-alias \
-       --enable-imagemap \
-       --enable-speling \
-       --enable-rewrite \
-       --enable-so \
+       --with-apr=%{_bindir}/apr-1-config \
+       --with-apr-util=%{_bindir}/apu-1-config \
+       --with-lua=/usr \
+       --with-pcre \
        --with-program-name=httpd \
-       --enable-mpms-shared=all \
-%ifarch %{ix86}
-%ifnarch i386 i486
-       --enable-nonportable-atomics=yes \
-%endif
-%endif
        --with-suexec-bin=%{_sbindir}/suexec \
        --with-suexec-caller=http \
        --with-suexec-docroot=%{_datadir} \
@@ -2713,35 +2801,31 @@ install -d build; cd build
        --with-suexec-uidmin=500 \
        --with-suexec-gidmin=500 \
        --with-suexec-umask=077 \
-       --with-apr=%{_bindir}/apr-1-config \
-       --with-apr-util=%{_bindir}/apu-1-config \
-       --with-pcre
+       --with-z=%{_prefix}
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,systemd/system} \
+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} \
-       $RPM_BUILD_ROOT%{systemdtmpfilesdir} \
-       $RPM_BUILD_ROOT%{systemdunitdir}
+       $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)
 %{__sed} -i -re '/^(CC|CPP|CXX)/ s/ccache //' $RPM_BUILD_ROOT%{_libdir}/%{name}/build/config_vars.mk
 
-install %{SOURCE31} $RPM_BUILD_ROOT%{systemdunitdir}/httpd.service
-ln -s %{systemdunitdir}/httpd.service $RPM_BUILD_ROOT/etc/systemd/system/httpd.service
 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
-ln -s conf.d $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
 
 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd
 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/httpd
@@ -2766,6 +2850,7 @@ cp -a %{SOURCE25} $CFG/01_mod_cgid.conf
 cp -a %{SOURCE26} $CFG/01_mod_log_config.conf
 cp -a %{SOURCE27} $CFG/01_mod_mime_magic.conf
 cp -a %{SOURCE28} $CFG/01_mod_cache.conf
+cp -a %{SOURCE32} $CFG/01_mod_http2.conf
 cp -a %{SOURCE8} $CFG/20_mod_vhost_alias.conf
 cp -a %{SOURCE9} $CFG/25_mod_status.conf
 cp -a %{SOURCE10} $CFG/30_mod_proxy.conf
@@ -2781,91 +2866,38 @@ 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 %{SOURCE29} $RPM_BUILD_ROOT%{_sysconfdir}/vhosts.d/example.net.conf
+cp -a %{SOURCE33} $CFG/60_mod_md.conf
 
-install %{SOURCE30} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
-
-echo "LoadModule access_compat_module   modules/mod_access_compat.so" > $CFG/00_mod_access_compat.conf
-echo "LoadModule actions_module        modules/mod_actions.so" > $CFG/00_mod_actions.conf
-echo "LoadModule alias_module modules/mod_alias.so" > $CFG/00_mod_alias.conf
-echo "LoadModule allowmethods_module    modules/mod_allowmethods.so" > $CFG/00_mod_allowmethods.conf
-echo "LoadModule asis_module   modules/mod_asis.so" > $CFG/00_mod_asis.conf
-echo "LoadModule auth_basic_module     modules/mod_auth_basic.so" > $CFG/00_mod_auth_basic.conf
-echo "LoadModule auth_digest_module    modules/mod_auth_digest.so" > $CFG/00_mod_auth_digest.conf
-echo "LoadModule auth_form_module       modules/mod_auth_form.so" > $CFG/00_mod_auth_form.conf
-echo "LoadModule authn_anon_module     modules/mod_authn_anon.so" > $CFG/00_mod_authn_anon.conf
-echo "LoadModule authn_core_module      modules/mod_authn_core.so" > $CFG/00_mod_authn_core.conf
-echo "LoadModule authn_dbd_module      modules/mod_authn_dbd.so" > $CFG/00_mod_authn_dbd.conf
-echo "LoadModule authn_dbm_module      modules/mod_authn_dbm.so" > $CFG/00_mod_authn_dbm.conf
-echo "LoadModule authn_file_module     modules/mod_authn_file.so" > $CFG/00_mod_authn_file.conf
-echo "LoadModule authn_socache_module      modules/mod_authn_socache.so" > $CFG/00_mod_authn_socache.conf
-echo "LoadModule authnz_ldap_module    modules/mod_authnz_ldap.so" > $CFG/00_mod_authnz_ldap.conf
-echo "LoadModule authz_core_module      modules/mod_authz_core.so" > $CFG/00_mod_authz_core.conf
-echo "LoadModule authz_dbd_module       modules/mod_authz_dbd.so" > $CFG/00_mod_authz_dbd.conf
-echo "LoadModule authz_dbm_module      modules/mod_authz_dbm.so" > $CFG/00_mod_authz_dbm.conf
-echo "LoadModule authz_groupfile_module        modules/mod_authz_groupfile.so" > $CFG/00_mod_authz_groupfile.conf
-echo "LoadModule authz_owner_module    modules/mod_authz_owner.so" > $CFG/00_mod_authz_owner.conf
-echo "LoadModule authz_user_module     modules/mod_authz_user.so" > $CFG/00_mod_authz_user.conf
-echo "LoadModule buffer_module  modules/mod_buffer.so" > $CFG/00_mod_buffer.conf
-%if %{with bucketeer}
-echo "LoadModule bucketeer_module      modules/mod_bucketeer.so" > $CFG/00_mod_bucketeer.conf
-%endif
-echo "LoadModule case_filter_in_module modules/mod_case_filter_in.so" > $CFG/00_mod_case_filter_in.conf
-echo "LoadModule case_filter_module    modules/mod_case_filter.so" > $CFG/00_mod_case_filter.conf
-echo "LoadModule cern_meta_module      modules/mod_cern_meta.so" > $CFG/00_mod_cern_meta.conf
-echo "LoadModule cgi_module    modules/mod_cgi.so" > $CFG/00_mod_cgi.conf
-echo "LoadModule charset_lite_module   modules/mod_charset_lite.so" > $CFG/00_mod_charset_lite.conf
-echo "LoadModule data_module    modules/mod_data.so" > $CFG/00_mod_data.conf
-echo "LoadModule dbd_module    modules/mod_dbd.so" > $CFG/00_mod_dbd.conf
-echo "LoadModule dialup_module  modules/mod_dialup.so" > $CFG/00_mod_dialup.conf
-echo "LoadModule dumpio_module modules/mod_dumpio.so" > $CFG/00_mod_dumpio.conf
-echo "LoadModule echo_module   modules/mod_echo.so" > $CFG/00_mod_echo.conf
-echo "LoadModule env_module    modules/mod_env.so" > $CFG/00_mod_env.conf
-echo "LoadModule expires_module        modules/mod_expires.so" > $CFG/00_mod_expires.conf
-echo "LoadModule ext_filter_module     modules/mod_ext_filter.so" > $CFG/00_mod_ext_filter.conf
-echo "LoadModule file_cache_module     modules/mod_file_cache.so" > $CFG/00_mod_file_cache.conf
-echo "LoadModule filter_module modules/mod_filter.so" > $CFG/00_mod_filter.conf
-echo "LoadModule headers_module        modules/mod_headers.so" > $CFG/00_mod_headers.conf
-echo "LoadModule heartbeat_module       modules/mod_heartbeat.so" > $CFG/01_mod_heartbeat.conf
-echo "LoadModule heartmonitor_module    modules/mod_heartmonitor.so" > $CFG/01_mod_heartmonitor.conf
-echo "LoadModule ident_module  modules/mod_ident.so" > $CFG/00_mod_ident.conf
-echo "LoadModule imagemap_module       modules/mod_imagemap.so" > $CFG/00_mod_imagemap.conf
-echo "LoadModule include_module        modules/mod_include.so" > $CFG/00_mod_include.conf
-echo "LoadModule lbmethod_bybusyness_module     modules/mod_lbmethod_bybusyness.so" > $CFG/00_mod_lbmethod_bybusyness.conf
-echo "LoadModule lbmethod_byrequests_module     modules/mod_lbmethod_byrequests.so" > $CFG/00_mod_lbmethod_byrequests.conf
-echo "LoadModule lbmethod_bytraffic_module      modules/mod_lbmethod_bytraffic.so" > $CFG/00_mod_lbmethod_bytraffic.conf
-echo "LoadModule lbmethod_heartbeat_module      modules/mod_lbmethod_heartbeat.so" > $CFG/00_mod_lbmethod_heartbeat.conf
-echo "LoadModule ldap_module   modules/mod_ldap.so" > $CFG/00_mod_ldap.conf
-echo "LoadModule log_debug_module       modules/mod_log_debug.so" > $CFG/00_mod_log_debug.conf
-echo "LoadModule log_forensic_module   modules/mod_log_forensic.so" > $CFG/00_mod_log_forensic.conf
-echo "LoadModule logio_module  modules/mod_logio.so" > $CFG/00_mod_logio.conf
-echo "LoadModule lua_module    modules/mod_lua.so" > $CFG/00_mod_lua.conf
-echo "LoadModule negotiation_module    modules/mod_negotiation.so" > $CFG/00_mod_negotiation.conf
-echo "LoadModule ratelimit_module       modules/mod_ratelimit.so" > $CFG/00_mod_ratelimit.conf
-echo "LoadModule reflector_module       modules/mod_reflector.so" > $CFG/00_mod_reflector.conf
-echo "LoadModule remoteip_module        modules/mod_remoteip.so" > $CFG/00_mod_remoteip.conf
-echo "LoadModule reqtimeout_module     modules/mod_reqtimeout.so" >> $CFG/00_mod_reqtimeout.conf
-echo "LoadModule request_module modules/mod_request.so" > $CFG/00_mod_request.conf
-echo "LoadModule rewrite_module        modules/mod_rewrite.so" > $CFG/00_mod_rewrite.conf
-echo "LoadModule sed_module     modules/mod_sed.so" > $CFG/00_mod_sed.conf
-echo "LoadModule session_cookie_module  modules/mod_session_cookie.so" > $CFG/00_mod_session_cookie.conf
-echo "LoadModule session_crypto_module  modules/mod_session_crypto.so" > $CFG/00_mod_session_crypto.conf
-echo "LoadModule session_dbd_module     modules/mod_session_dbd.so" > $CFG/00_mod_session_dbd.conf
-echo "LoadModule session_module modules/mod_session.so" > $CFG/00_mod_session.conf
-echo "LoadModule setenvif_module       modules/mod_setenvif.so" > $CFG/00_mod_setenvif.conf
-echo "LoadModule slotmem_plain_module   modules/mod_slotmem_plain.so" > $CFG/00_mod_slotmem_plain.conf
-echo "LoadModule slotmem_shm_module     modules/mod_slotmem_shm.so" > $CFG/00_mod_slotmem_shm.conf
-echo "LoadModule socache_dbm_module     modules/mod_socache_dbm.so" > $CFG/00_mod_socache_dbm.conf
-echo "LoadModule socache_memcache_module        modules/mod_socache_memcache.so" > $CFG/00_mod_socache_memcache.conf
-echo "LoadModule socache_shmcb_module   modules/mod_socache_shmcb.so" > $CFG/00_mod_socache_shmcb.conf
-echo "LoadModule speling_module        modules/mod_speling.so" > $CFG/00_mod_speling.conf
-echo "LoadModule substitute_module     modules/mod_substitute.so" > $CFG/00_mod_substitute.conf
-echo "LoadModule unique_id_module      modules/mod_unique_id.so" > $CFG/00_mod_unique_id.conf
-echo "LoadModule usertrack_module      modules/mod_usertrack.so" > $CFG/00_mod_usertrack.conf
-echo "LoadModule version_module        modules/mod_version.so" > $CFG/00_mod_version.conf
-echo "LoadModule watchdog_module        modules/mod_watchdog.so" > $CFG/00_mod_watchdog.conf
-echo "LoadModule xml2enc_module modules/mod_xml2enc.so" > $CFG/00_mod_xml2enc.conf
+cp -a %{SOURCE29} $RPM_BUILD_ROOT%{_sysconfdir}/vhosts.d/example.net.conf
 
+LoadModule() {
+       local index=$1 module=$2 conffile
+       conffile=${3:-$module}
+       echo "LoadModule ${module}_module modules/mod_$module.so" > $CFG/${index}_mod_${conffile}.conf
+}
+
+for module in access_compat actions alias allowmethods asis auth_basic \
+       auth_digest auth_form authn_anon authn_core authn_dbd authn_dbm \
+       authn_file authn_socache authnz_ldap authz_core authz_dbd \
+       authz_dbm authz_groupfile authz_owner authz_user brotli \
+       %{?with_bucketeer:bucketeer} buffer \
+       case_filter_in case_filter cern_meta cgi charset_lite \
+       data dbd dialup dumpio \
+       echo env expires ext_filter \
+       file_cache filter \
+       headers heartbeat heartmonitor \
+       ident imagemap include \
+       lbmethod_bybusyness lbmethod_byrequests lbmethod_bytraffic \
+       lbmethod_heartbeat ldap log_debug log_forensic logio lua \
+       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_redis socache_shmcb speling substitute \
+       unique_id usertrack version watchdog xml2enc; do
+
+       LoadModule 00 $module
+done
 
 # anything in style dir not ending with .css is trash
 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/manual/style/{lang,latex,xsl}
@@ -2883,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
 
@@ -2911,32 +2943,15 @@ rm -rf $RPM_BUILD_ROOT
 %useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
 
 %pretrans base
-# change httpd.conf from dir to symlink
-if [ ! -L /etc/httpd/httpd.conf ]; then
-       if [ -d /etc/httpd/httpd.conf ]; then
-               if [ -d /etc/httpd/conf.d ]; then
-                       mv /etc/httpd/httpd.conf/* /etc/httpd/conf.d
-                       rmdir /etc/httpd/httpd.conf 2>/dev/null || mv -v /etc/httpd/httpd.conf{,.rpmsave}
-               else
-                       mv /etc/httpd/httpd.conf /etc/httpd/conf.d
-               fi
-
-               # new module packages issue error as first installed over 2.0 installation
-               mv -f /var/lock/subsys/httpd{,.disabled} 2>/dev/null
-       fi
-
-       # always have httpd.conf symlink (until all packages from Ac use new dir)
-       install -d /etc/httpd
-       ln -s conf.d /etc/httpd/httpd.conf
-fi
+# 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
-                echo "LoadModule mpm_${MPM}_module                modules/mod_mpm_${MPM}.so" > /etc/httpd/conf.d/10_mpm.conf.rpmnew
-                cat /etc/httpd/conf.d/10_mpm.conf >> /etc/httpd/conf.d/10_mpm.conf.rpmnew
-                mv /etc/httpd/conf.d/10_mpm.conf.rpmnew /etc/httpd/conf.d/10_mpm.conf
-                sed -i -e 's,HTTPD_MPM.*,,g' /etc/sysconfig/httpd
-        fi
+       MPM=$(grep ^HTTPD_MPM /etc/sysconfig/httpd | sed 's,HTTPD_MPM=,,;s,",,g')
+       if [ -n "$MPM" ]; then
+               echo "LoadModule mpm_${MPM}_module      modules/mod_mpm_${MPM}.so" > /etc/httpd/conf.d/10_mpm.conf.rpmnew
+               cat /etc/httpd/conf.d/10_mpm.conf >> /etc/httpd/conf.d/10_mpm.conf.rpmnew
+               mv -f /etc/httpd/conf.d/10_mpm.conf.rpmnew /etc/httpd/conf.d/10_mpm.conf
+               sed -i -e 's,HTTPD_MPM.*,,g' /etc/sysconfig/httpd
+       fi
 fi
 
 exit 0
@@ -2945,128 +2960,25 @@ exit 0
 /sbin/chkconfig --add httpd
 umask 137
 touch /var/log/httpd/{access,error,agent,referer}_log
-%systemd_post httpd.service
 
 %preun base
 if [ "$1" = "0" ]; then
        %service httpd stop
        /sbin/chkconfig --del httpd
 fi
-%systemd_preun httpd.service
 
 %postun base
 if [ "$1" = "0" ]; then
        %userremove http
        %groupremove http
 fi
-%systemd_reload
-
-%triggerpostun base -- %{name} < 2.0.50-6.9
-%banner %{name}-2.0.50-6 << EOF
-WARNING!!!
-Since apache-2.0.50-6 autoindex module has been separated to package
-%{name}-mod_autoindex If you want to have the same functionality do:
-poldek -Uv %{name}-mod_autoindex
-EOF
-
-%triggerpostun base -- %{name} < 2.0.54-4
-%banner %{name}-2.0.54-2 << EOF
-WARNING!!!
-CGI demo/test programs - printenv and test-cgi, have been released
-from package apache into separate subpackage apache-cgi_test. If you
-need printenv and/or test-cgi, please install apache-cgi_test package,
-e.g. by running poldek -Uv apache-cgi_test
-EOF
-
-# update /etc/sysconfig/apache -> httpd rename
-if [ -f /etc/sysconfig/apache.rpmsave ]; then
-       cp -f /etc/sysconfig/httpd{,.rpmnew}
-       mv -f /etc/sysconfig/{apache.rpmsave,httpd}
-fi
-
-%triggerpostun base -- %{name} < 2.0.55-3.1
-# check for config first as in 2.2 it's .rpmsave
-if [ -f /etc/httpd/httpd.conf/10_httpd.conf ]; then
-       if ! grep -q 'Include webapps.d/' /etc/httpd/httpd.conf/10_httpd.conf; then
-               # make sure webapps.d is included
-               cp -f /etc/httpd/httpd.conf/10_httpd.conf{,.rpmsave}
-               # this file is ugly, so just append new lines
-               cat <<-EOF >> /etc/httpd/httpd.conf/10_httpd.conf
-               # Include webapps config
-               Include webapps.d/*.conf
-EOF
-       fi
-fi
 
-%triggerpostun base -- %{name} < 2.4.0
-cp -f /etc/httpd/apache.conf{,.rpmsave}
-sed -i -e '
-        /^DefaultType.*/s,.*,,
-        /^Include /s,^Include ,IncludeOptional ,
-        /^NameVirtualHost.*/s,.*,,
-        /^User/s,^,LoadModule unixd_module modules/mod_unixd.so\n,
-' /etc/httpd/apache.conf
-sed -i -e '
-        s,^LockFile /var/run/httpd/accept.lock,Mutex file:/var/run/httpd/,g
-' /etc/httpd/conf.d/10_mpm.conf
-
-%triggerpostun base -- %{name} < 2.2.0
-# change HTTPD_CONF to point to new location. *only* if it's the
-# default config setting
-cp -f /etc/sysconfig/httpd{,.rpmorig}
-sed -i -e '/^HTTPD_CONF="\/etc\/httpd\/httpd.conf"/s,.*,HTTPD_CONF="/etc/httpd/apache.conf",' /etc/sysconfig/httpd
-
-if [ -f /etc/httpd/conf.d/10_httpd.conf.rpmsave ]; then
-       sed -e '
-       # as separate modules
-       /^LoadModule access_module/s,^,#,
-       /^LoadModule alias_module/s,^,#,
-       /^LoadModule asis_module/s,^,#,
-       /^LoadModule cern_meta_module/s,^,#,
-       /^LoadModule cgi_module/s,^,#,
-       /^LoadModule env_module/s,^,#,
-       /^LoadModule include_module/s,^,#,
-       /^LoadModule log_config_module/s,^,#,
-       /^LoadModule mime_magic_module/s,^,#,
-       /^LoadModule mime_module/s,^,#,
-       /^LoadModule negotiation_module/s,^,#,
-       /^LoadModule setenvif_module/s,^,#,
-       /^LoadModule speling_module/s,^,#,
-       /^LoadModule userdir_module/s,^,#,
-
-       # in 30_errordocs.conf
-       /<IfModule mod_include.c>/,/<\/IfModule>/s,^,#,
-
-       # in 57_mod_autoindex.conf
-       /^Alias \/icons\//s,^,#,
-
-       # in apache.conf
-       /^ScriptAlias \/cgi-bin\//s,^,#,
-       /^Listen 80/s,^,#,
-
-       # avoid loops
-       /Include conf.d\/\*.conf/s,^,#,
-       /Include webapps.d\/\*.conf/s,^,#,
-
-       ' < /etc/httpd/conf.d/10_httpd.conf.rpmsave > /etc/httpd/conf.d/10_httpd.conf
-fi
-
-%banner -e %{name} <<'EOF'
-NB! Apache main config has been changed to /etc/httpd/apache.conf
-
-There has been changed a lot, so many things could be broken.
-Please report bugs to <http://bugs.pld-linux.org/>.
-
-EOF
-
-%triggerpostun base -- %{name} < 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
-%systemd_trigger httpd.service
 
-%triggerpostun base -- %{name} < 2.4.0
 cp -f /etc/httpd/apache.conf{,.rpmsave}
 sed -i -e '
        /^DefaultType/d
@@ -3078,13 +2990,6 @@ sed -i -e '
        s,^LockFile /var/run/httpd/accept.lock,Mutex file:/var/run/httpd/,g
 ' /etc/httpd/conf.d/10_mpm.conf
 
-%triggerpostun mod_ssl -- %{name}-mod_ssl < 1:2.2.0-3.1
-cp -f /etc/httpd/conf.d/40_mod_ssl.conf{,.rpmsave}
-sed -i -e '
-       s,/var/run/apache,/var/run/httpd,g
-       s,/var/cache/apache,/var/cache/httpd,g
-' /etc/httpd/conf.d/40_mod_ssl.conf
-
 %triggerpostun mod_ssl -- %{name}-mod_ssl < 1:2.4.0
 cp -f /etc/httpd/conf.d/40_mod_ssl.conf{,.rpmsave}
 sed -i -e '
@@ -3107,20 +3012,17 @@ mv -f /var/lock/subsys/httpd{.disabled,} 2>/dev/null
 
 # restart webserver at the end of transaction
 %service httpd restart
-%systemd_service_restart httpd.service
 
 # macro called at module post scriptlet
 %define        module_post \
 if [ "$1" = "1" ]; then \
        %service -q httpd restart \
-       %systemd_service_restart httpd.service \
 fi
 
 # macro called at module postun scriptlet
 %define        module_postun \
 if [ "$1" = "0" ]; then \
        %service -q httpd restart \
-       %systemd_service_restart httpd.service \
 fi
 
 # it's sooo annoying to write them
@@ -3155,6 +3057,7 @@ fi
 %module_scripts mod_authz_owner
 %module_scripts mod_authz_user
 %module_scripts mod_autoindex
+%module_scripts mod_brotli
 %module_scripts mod_bucketeer
 %module_scripts mod_buffer
 %module_scripts mod_cache
@@ -3180,6 +3083,7 @@ fi
 %module_scripts mod_headers
 %module_scripts mod_heartbeat
 %module_scripts mod_heartmonitor
+%module_scripts mod_http2
 %module_scripts mod_ident
 %module_scripts mod_imagemap
 %module_scripts mod_include
@@ -3194,6 +3098,8 @@ fi
 %module_scripts mod_log_forensic
 %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
@@ -3210,11 +3116,8 @@ fi
 %module_scripts mod_session_crypto
 %module_scripts mod_session_dbd
 %module_scripts mod_setenvif
-%module_scripts mod_slotmem_plain
-%module_scripts mod_slotmem_shm
-%module_scripts mod_socache_dbm
-%module_scripts mod_socache_memcache
-%module_scripts mod_socache_shmcb
+%module_scripts mod_slotmem
+%module_scripts mod_socache
 %module_scripts mod_speling
 %module_scripts mod_ssl
 %module_scripts mod_status
@@ -3231,25 +3134,21 @@ fi
 %post cgi_test
 if [ "$1" = "1" ]; then
        %service -q httpd reload
-       %systemd_service_reload httpd.service
 fi
 
 %postun cgi_test
 if [ "$1" = "0" ]; then
        %service -q httpd reload
-       %systemd_service_reload httpd.service
 fi
 
 %post errordocs
 if [ "$1" = "1" ]; then
        %service -q httpd reload
-       %systemd_service_reload httpd.service
 fi
 
 %postun errordocs
 if [ "$1" = "0" ]; then
        %service -q httpd reload
-       %systemd_service_reload httpd.service
 fi
 
 %files
@@ -3264,7 +3163,6 @@ fi
 %{_sysconfdir}/modules
 %{_sysconfdir}/run
 %{_sysconfdir}/logs
-%ghost %{_sysconfdir}/httpd.conf
 %attr(750,root,root) %dir %{_sysconfdir}/conf.d
 %attr(750,root,root) %dir %{_sysconfdir}/vhosts.d
 %attr(750,root,root) %dir %{_sysconfdir}/webapps.d
@@ -3281,13 +3179,10 @@ 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
 
-%{systemdtmpfilesdir}/%{name}.conf
-%{systemdunitdir}/httpd.service
-%config(noreplace) %verify(not md5 mtime size) /etc/systemd/system/httpd.service
-
 %{_mandir}/man8/httpd.8*
 
 %attr(2751,root,logs) %dir /var/log/httpd
@@ -3299,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
@@ -3475,6 +3370,11 @@ fi
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_autoindex.conf
 %attr(755,root,root) %{_libexecdir}/mod_autoindex.so
 
+%files mod_brotli
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_brotli.conf
+%attr(755,root,root) %{_libexecdir}/mod_brotli.so
+
 %if %{with bucketeer}
 %files mod_bucketeer
 %defattr(644,root,root,755)
@@ -3493,6 +3393,7 @@ fi
 %attr(755,root,root) %{_sbindir}/htcacheclean
 %attr(755,root,root) %{_libexecdir}/mod_cache.so
 %attr(755,root,root) %{_libexecdir}/mod_cache_disk.so
+%attr(755,root,root) %{_libexecdir}/mod_cache_socache.so
 %{_mandir}/man8/htcacheclean.8*
 
 %files mod_case_filter
@@ -3606,6 +3507,13 @@ fi
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_heartmonitor.conf
 %attr(755,root,root) %{_libexecdir}/mod_heartmonitor.so
 
+%if %{with http2}
+%files mod_http2
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_http2.conf
+%attr(755,root,root) %{_libexecdir}/mod_http2.so
+%endif
+
 %files mod_ident
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_ident.conf
@@ -3678,6 +3586,18 @@ fi
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_lua.conf
 %attr(755,root,root) %{_libexecdir}/mod_lua.so
 
+%files mod_macro
+%defattr(644,root,root,755)
+%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
@@ -3705,9 +3625,13 @@ fi
 %attr(755,root,root) %{_libexecdir}/mod_proxy_fcgi.so
 %attr(755,root,root) %{_libexecdir}/mod_proxy_fdpass.so
 %attr(755,root,root) %{_libexecdir}/mod_proxy_ftp.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_hcheck.so
 %attr(755,root,root) %{_libexecdir}/mod_proxy_html.so
 %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*
 
@@ -3773,29 +3697,22 @@ fi
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_setenvif.conf
 %attr(755,root,root) %{_libexecdir}/mod_setenvif.so
 
-%files mod_slotmem_plain
+%files mod_slotmem
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_slotmem_plain.conf
-%attr(755,root,root) %{_libexecdir}/mod_slotmem_plain.so
-
-%files mod_slotmem_shm
-%defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_slotmem_shm.conf
+%attr(755,root,root) %{_libexecdir}/mod_slotmem_plain.so
 %attr(755,root,root) %{_libexecdir}/mod_slotmem_shm.so
 
-%files mod_socache_dbm
+%files mod_socache
 %defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_socache_dbm.conf
-%attr(755,root,root) %{_libexecdir}/mod_socache_dbm.so
-
-%files mod_socache_memcache
-%defattr(644,root,root,755)
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_socache_memcache.conf
-%attr(755,root,root) %{_libexecdir}/mod_socache_memcache.so
-
-%files mod_socache_shmcb
-%defattr(644,root,root,755)
+%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