# 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
# this is internal macro, don't change to %%apache_modules_api
%define _apache_modules_api 20120211
-%define openssl_ver 0.9.8i
-%define apr_ver 1:1.4.6
+%define openssl_ver 1.0.1e
+%define apr_ver 1:1.5.0
%include /usr/lib/rpm/macros.perl
Summary: The most widely used Web server on the Internet
Summary(ru.UTF-8): Самый популярный веб-сервер
Summary(tr.UTF-8): Lider WWW tarayıcı
Name: apache
-Version: 2.4.4
+Version: 2.4.9
Release: 2
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: 2ef4e65353497606b24fa9bb3e5a3c40
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: %{name}.sysconfig
Patch2: %{name}-suexec.patch
Patch3: %{name}-branding.patch
Patch4: %{name}-apr.patch
-Patch5: httpd-dummy-connection-result.patch
Patch7: %{name}-syslibs.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/
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_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_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}
Obsoletes: apache-mod_optional_fn_import
Obsoletes: apache-mod_optional_hook_import
Conflicts: apache < 2.2.0
+# mod_wsgi >= 3.4 is required for apache 2.4
+Conflicts: apache-mod_wsgi < 3.4
Conflicts: logrotate < 3.7-4
# for the posttrans scriptlet, conflicts because in vserver environment rpm package is not installed.
Conflicts: rpm < 4.4.2-0.2
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: apr-util-ldap
Provides: apache(mod_authnz_ldap) = %{version}-%{release}
# compat
URL: http://httpd.apache.org/docs/2.4/mod/mod_authz_host.html
Requires: %{name}-base = %{version}-%{release}
Requires: %{name}-mod_authz_core = %{version}-%{release}
-# provides compatibility directives for 2.2-style access control
-Requires: apache(mod_access_compat) = %{version}-%{release}
Provides: apache(mod_authz_host) = %{version}-%{release}
# for apache < 2.2.0
Provides: apache(mod_access) = %{version}-%{release}
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
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
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_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ą
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: openssl >= %{openssl_ver}
Requires: apr-util-dbm-db
+Requires: openssl >= %{openssl_ver}
Provides: apache(mod_ssl) = 1:%{version}-%{release}
%description mod_ssl
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%patch7 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
-# ?
-#%patch23 -p1
+%patch23 -p1
# ?
#%patch25 -p1
# ?
#%patch26 -p1
-# probably drop
-#%patch28 -p1
%patch29 -p1
%patch30 -p1
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 macro_module modules/mod_macro.so" > $CFG/00_mod_macro.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
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')
- 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
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.2.22-2
. /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
+%triggerpostun base -- %{name}-base < 2.4.0
cp -f /etc/httpd/apache.conf{,.rpmsave}
sed -i -e '
/^DefaultType/d
%module_scripts mod_log_forensic
%module_scripts mod_logio
%module_scripts mod_lua
+%module_scripts mod_macro
%module_scripts mod_mime
%module_scripts mod_mime_magic
%module_scripts mod_negotiation
%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
%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_mime
%defattr(644,root,root,755)
%attr(755,root,root) %{_libexecdir}/mod_mime.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
+%attr(755,root,root) %{_libexecdir}/mod_proxy_wstunnel.so
%attr(755,root,root) %{_libexecdir}/mod_proxy.so
%{_mandir}/man8/fcgistarter.8*