%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 openssl_ver 1.0.2
%define apr_ver 1:1.4.6
%include /usr/lib/rpm/macros.perl
Summary(ru.UTF-8): Самый популярный веб-сервер
Summary(tr.UTF-8): Lider WWW tarayıcı
Name: apache
-Version: 2.4.12
-Release: 2
+Version: 2.4.23
+Release: 1
License: Apache v2.0
Group: Networking/Daemons/HTTP
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
-# Source0-md5: b8dc8367a57a8d548a9b4ce16d264a13
+# Source0-md5: 04f19c60e810c028f5240a062668a688
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: %{name}.sysconfig
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
%{?with_distcache:BuildRequires: distcache-devel}
BuildRequires: libtool >= 2:1.5
BuildRequires: lua51-devel
+%{?with_http2:BuildRequires: nghttp2-devel >= 1.2.1}
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
%{?with_ssl:BuildRequires: openssl-devel >= %{openssl_ver}}
%{?with_ssl:BuildRequires: openssl-tools >= %{openssl_ver}}
Group: Documentation
Requires: %{name}-base = %{version}-%{release}
Obsoletes: indexhtml
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description index
Apache index.html* files.
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.
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.
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}
+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
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
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.
--enable-cern-meta \
--enable-expires \
--enable-headers \
+ %{__enable_disable http2} \
--enable-ident \
--enable-usertrack \
--enable-unique-id \
--enable-proxy-http \
--enable-proxy-ajp \
--enable-proxy-balancer \
+ --enable-proxy-fdpass \
%{?with_ssl:--enable-ssl %{?with_distcache:--enable-distcache}} \
--enable-http \
--enable-dav \
# 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
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
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
for module in access_compat actions alias allowmethods asis auth_basic \
auth_digest auth_form authn_anon authn_core authn_dbd authn_dbm \
%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')
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 '
%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
%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
%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_scgi.so