]> git.pld-linux.org Git - packages/apache.git/blobdiff - apache.spec
- bump nghttp2 requirement for complete support
[packages/apache.git] / apache.spec
index 59269c878ba45a3e84516059e1d2136605ec0c6c..bf09c2d9d2229840733c2e88a1fbd84611de18c4 100644 (file)
 %bcond_without ldap            # build without LDAP support
 %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.0.2
+%define                apr_ver         1:1.6.0
 
 %include       /usr/lib/rpm/macros.perl
 Summary:       The most widely used Web server on the Internet
@@ -33,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.12
-Release:       1
+Version:       2.4.26
+Release:       2
 License:       Apache v2.0
 Group:         Networking/Daemons/HTTP
 Source0:       http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
-# Source0-md5: b8dc8367a57a8d548a9b4ce16d264a13
+# Source0-md5: d4d47749a44461cb2e6c9d78a22b522b
 Source1:       %{name}.init
 Source2:       %{name}.logrotate
 Source3:       %{name}.sysconfig
@@ -70,12 +71,12 @@ Source28:   %{name}-mod_cache.conf
 Source29:      %{name}-example.net.conf
 Source30:      %{name}.tmpfiles
 Source31:      %{name}.service
+Source32:      %{name}-mod_http2.conf
 Patch0:                %{name}-configdir_skip_backups.patch
 Patch1:                %{name}-layout.patch
 Patch2:                %{name}-suexec.patch
 Patch3:                %{name}-branding.patch
 Patch4:                %{name}-apr.patch
-
 Patch7:                %{name}-syslibs.patch
 
 Patch10:       httpd-2.0.46-dav401dest.patch
@@ -91,7 +92,6 @@ Patch23:      %{name}-suexec_fcgi.patch
 Patch25:       httpd-2.2.x-mod_ssl-sessioncaching.patch
 Patch26:       %{name}-mod_vhost_alias_docroot.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
@@ -100,6 +100,7 @@ BuildRequires:      automake
 %{?with_distcache:BuildRequires:       distcache-devel}
 BuildRequires: libtool >= 2:1.5
 BuildRequires: lua51-devel
+%{?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}}
@@ -118,11 +119,15 @@ 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}
@@ -260,6 +265,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.
@@ -276,6 +284,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.
@@ -293,6 +304,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.
@@ -554,13 +568,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
@@ -714,8 +725,8 @@ 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_ldap = %{version}-%{release}
 Requires:      %{name}-mod_authn_core = %{version}-%{release}
+Requires:      %{name}-mod_ldap = %{version}-%{release}
 Requires:      apr-util-ldap
 Provides:      apache(mod_authnz_ldap) = %{version}-%{release}
 # compat
@@ -1129,16 +1140,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
@@ -1172,8 +1179,6 @@ 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
 Provides:      apache(mod_dav) = %{version}-%{release}
 
@@ -1441,6 +1446,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
@@ -1508,6 +1514,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 >= 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
@@ -1977,7 +1999,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
@@ -2136,6 +2157,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
 Provides:      apache(mod_session_crypto) = %{version}-%{release}
 
 %description mod_session_crypto
@@ -2597,6 +2619,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.
@@ -2628,7 +2653,6 @@ Dwa programy testowe/przykładowe cgi: test-cgi and print-env.
 # ?
 #%patch26 -p1
 %patch29 -p1
-%patch30 -p1
 
 # sanity check
 MODULES_API=`awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' include/ap_mmn.h`
@@ -2696,6 +2720,7 @@ install -d build; cd build
        --enable-cern-meta \
        --enable-expires \
        --enable-headers \
+       %{__enable_disable http2} \
        --enable-ident \
        --enable-usertrack \
        --enable-unique-id \
@@ -2703,8 +2728,10 @@ install -d build; cd build
        --enable-proxy-connect \
        --enable-proxy-ftp \
        --enable-proxy-http \
+       --enable-proxy-http2 \
        --enable-proxy-ajp \
        --enable-proxy-balancer \
+       --enable-proxy-fdpass \
        %{?with_ssl:--enable-ssl %{?with_distcache:--enable-distcache}} \
        --enable-http \
        --enable-dav \
@@ -2754,14 +2781,13 @@ install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,systemd/system
 # 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
+cp -p %{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
 # 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
@@ -2786,6 +2812,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
@@ -2803,12 +2830,19 @@ 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
 
-install %{SOURCE30} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+cp -p %{SOURCE30} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.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 buffer \
+       %{?with_bucketeer:bucketeer} \
        case_filter_in case_filter cern_meta cgi charset_lite \
        data dbd dialup dumpio \
        echo env expires ext_filter \
@@ -2824,14 +2858,9 @@ for module in access_compat actions alias allowmethods asis auth_basic \
        socache_shmcb speling substitute \
        unique_id usertrack version watchdog xml2enc; do
 
-echo "LoadModule ${module}_module      modules/mod_$module.so" > $CFG/00_mod_$module.conf
-
+       LoadModule 00 $module
 done
 
-%if %{with bucketeer}
-echo "LoadModule bucketeer_module      modules/mod_bucketeer.so" > $CFG/00_mod_bucketeer.conf
-%endif
-
 # anything in style dir not ending with .css is trash
 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/manual/style/{lang,latex,xsl}
 find $RPM_BUILD_ROOT%{_datadir}/manual/style -type f ! -name '*.css' -print0 | xargs -0r rm -f
@@ -2876,25 +2905,6 @@ 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
-
 # handle $HTTPD_MPM from sysconfig
 if [ -f /etc/sysconfig/httpd ]; then
        MPM=$(grep ^HTTPD_MPM /etc/sysconfig/httpd | sed 's,HTTPD_MPM=,,;s,",,g')
@@ -2947,13 +2957,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 '
@@ -3049,6 +3052,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
@@ -3134,7 +3138,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
@@ -3477,6 +3480,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
@@ -3581,8 +3591,10 @@ 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_wstunnel.so
 %attr(755,root,root) %{_libexecdir}/mod_proxy.so
This page took 0.052219 seconds and 4 git commands to generate.