# TODO:
# - config examples for mod_*
-# - --with-suexec-gidmin=500 or =100 ?
# - --with-suexec-uidmin=500 or =1000 ?
# - subpackages for MPMs
# - !!!check if all modules (*.so) are exactly the same for different MPMs
%bcond_without metuxmpm # metux MPM
%bcond_without peruser # peruser MPM
%bcond_without event # event MPM
-%bcond_with distcache # distcache support
+%bcond_with distcache # distcache support
%bcond_with bucketeer # debug one
#
%include /usr/lib/rpm/macros.perl
Summary(ru.UTF-8): Самый популярный веб-сервер
Summary(tr.UTF-8): Lider WWW tarayıcı
Name: apache
-Version: 2.2.6
-Release: 4
-License: Apache Group License
+Version: 2.2.9
+Release: 9
+License: Apache
Group: Networking/Daemons
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz
-# Source0-md5: d050a49bd7532ec21c6bb593b3473a5d
+# Source0-md5: 80d3754fc278338033296f0d41ef2c04
Source1: %{name}.init
Source2: %{name}.logrotate
-Source3: %{name}-icons.tar.gz
-# Source3-md5: 2b085cbc19fd28536dc883f0b864cd83
-Source4: %{name}.sysconfig
+Source3: %{name}.sysconfig
+Source4: %{name}-server.crt
+Source5: %{name}-server.key
Source6: %{name}-httpd.conf
Source7: %{name}-common.conf
Source8: %{name}-mod_vhost_alias.conf
Source17: %{name}-mod_autoindex.conf
Source18: %{name}-multilang-errordoc.conf
Source19: %{name}-manual.conf
-Source20: %{name}-server.crt
-Source21: %{name}-server.key
-Source22: %{name}-mod_userdir.conf
-Source23: %{name}-mpm.conf
-Source24: %{name}-languages.conf
-Source25: %{name}-mod_mime.conf
-Source27: %{name}-mod_authz_host.conf
-Source28: %{name}-mod_cgid.conf
-Source29: %{name}-mod_log_config.conf
-Source30: %{name}-mod_mime_magic.conf
-Source31: %{name}-mod_cache.conf
+Source20: %{name}-mod_userdir.conf
+Source21: %{name}-mpm.conf
+Source22: %{name}-languages.conf
+Source23: %{name}-mod_mime.conf
+Source24: %{name}-mod_authz_host.conf
+Source25: %{name}-mod_cgid.conf
+Source26: %{name}-mod_log_config.conf
+Source27: %{name}-mod_mime_magic.conf
+Source28: %{name}-mod_cache.conf
Patch0: %{name}-configdir_skip_backups.patch
Patch1: %{name}-layout.patch
Patch2: %{name}-suexec.patch
Patch8: httpd-2.0.45-encode.patch
Patch9: %{name}-paths.patch
Patch10: httpd-2.0.46-dav401dest.patch
+Patch11: %{name}-bug-40970.patch
Patch12: httpd-2.0.46-sslmutex.patch
Patch14: httpd-2.0.48-corelimit.patch
Patch15: httpd-2.0.48-debuglog.patch
Patch18: %{name}-v6only-ENOPROTOOPT.patch
Patch19: %{name}-conffile-path.patch
Patch20: %{name}-apxs.patch
-# http://www.telana.com/peruser.php
-Patch21: httpd-2.0.52-peruser-0.1.6.patch
+# http://www.telana.com/peruser.php (2.2.3-0.3.0)
+Patch21: httpd-peruser.patch
Patch22: %{name}-libtool.patch
-Patch23: %{name}-revert-bug-40463.patch
+Patch23: %{name}-suexec_fcgi.patch
+Patch24: %{name}-revert-bug-40463.patch
URL: http://httpd.apache.org/
BuildRequires: apr-devel >= 1:1.2
-BuildRequires: apr-util-devel >= 1:1.2
+BuildRequires: apr-util-devel >= 1:1.3
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: db-devel
BuildRequires: expat-devel
BuildRequires: gdbm-devel >= 1.8.3
BuildRequires: libtool >= 2:1.5
-%{?with_ldap:BuildRequires: openldap-devel >= 2.4.6}
+%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
%{?with_ssl:BuildRequires: openssl-tools >= 0.9.7d}
BuildRequires: pcre-devel
Summary(pt_BR.UTF-8): Arquivos de inclusão do Apache para desenvolvimento de módulos
Summary(ru.UTF-8): Средства разработки модулей для веб-сервера Apache
Group: Networking/Utilities
-Obsoletes: %{name}-apxs
Requires: apr-util-devel >= 1:1.2
Requires: libtool
+Obsoletes: apache-apxs
Obsoletes: apache-static
%description devel
URL: http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html
Requires: %{name}-base = %{version}-%{release}
Requires: %{name}-mod_ldap = %{version}-%{release}
+Requires: apr-util-ldap
Provides: apache(mod_authnz_ldap) = %{version}-%{release}
# compat
Provides: apache(mod_auth_ldap) = %{version}-%{release}
URL: http://httpd.apache.org/docs/2.2/mod/mod_env.html
Requires: %{name}-base = %{version}-%{release}
Provides: apache(mod_env) = %{version}-%{release}
+Provides: webserver(setenv)
%description mod_env
This module allows for control of the environment that will be
URL: http://httpd.apache.org/docs/2.2/mod/mod_expires.html
Requires: %{name}-base = %{version}-%{release}
Provides: apache(mod_expires) = %{version}-%{release}
+Provides: webserver(expires)
%description mod_expires
This module controls the setting of the Expires HTTP header in server
zainstalowanych modułach itp.
%package mod_ldap
-Summary: Apache module to use LDAP connections
-Summary(pl.UTF-8): Moduł Apache'a umożliwiający korzystanie z połączeń LDAP
+Summary: Apache module for LDAP connection pooling and result caching services for other LDAP modules
+Summary(pl.UTF-8): Moduł Apache'a zarządzający połączeniami z serwerami LDAP
Group: Networking/Daemons
URL: http://httpd.apache.org/docs/2.2/mod/mod_ldap.html
Requires: %{name}-base = %{version}-%{release}
Provides: apache(mod_ldap) = %{version}-%{release}
%description mod_ldap
-Apache module to use LDAP connections.
+This module was created to improve the performance of websites relying
+on backend connections to LDAP servers. In addition to the functions
+provided by the standard LDAP libraries, this module adds an LDAP
+connection pool and an LDAP shared memory cache.
%description mod_ldap -l pl.UTF-8
-Moduł Apache'a umożliwiający korzystanie z połączeń LDAP.
+Moduł Apache'a poprawiający wydajność serwisów polegających na
+połączeniach z serwerami LDAP. Oprócz funkcjo udostępnianych przez
+standardowe biblioteki LDAP ten moduł dodaje zarządzanie pulą połączeń
+i współdzieloną pamięć podręczną zapytań.
%package mod_log_config
Summary: Logging of the requests made to the server
Moduł pozwala administratorowi na przeglądanie statystyk dotyczących
pracy serwera Apache (w postaci strony HTML).
+%package mod_substitute
+Summary: Substitute module for Apache
+Summary(pl.UTF-8): Moduł pozwalający na znajdywanie i zastępowanie wyjścia dla serwera Apache
+Group: Networking/Daemons
+URL: http://httpd.apache.org/docs/2.2/mod/mod_substitute.html
+Requires: %{name}-base = %{version}-%{release}
+Provides: apache(mod_substitute) = %{version}-%{release}
+
+%description mod_substitute
+The Substitute module provides a mechanism to perform both regular
+expression and fixed string substitutions on response bodies.
+
+%description mod_substitute -l pl.UTF-8
+Moduł pozwala na zastępowanie ciągów znaków w wyjściu również na
+podstawie wyrażenia regularnego.
+
%package mod_unique_id
Summary: Apache module which provides a magic token for each request
Summary(pl.UTF-8): Moduł Apache'a nadający każdemu zapytaniu unikalny token
Summary(pl.UTF-8): Programy testowe/przykładowe cgi
Group: Networking/Utilities
Requires: %{name}-base = %{version}-%{release}
-Requires: filesystem >= 3.0-11
+Requires: filesystem >= 2.0-1
%description cgi_test
Two cgi test/demo programs: test-cgi and print-env.
%patch8 -p1
%patch9 -p1
%patch10 -p1
+%patch11 -p1
%patch12 -p1
%patch14 -p1
%patch15 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
+%patch24 -p1
# using system apr, apr-util and pcre
rm -rf srclib/{apr,apr-util,pcre}
%build
cp /usr/share/apr/build/apr_common.m4 build
-cp /usr/share/libtool/ltmain.sh build
+%{__libtoolize}
+%{__aclocal} -I build
cp /usr/share/automake/config.* build
%{__autoheader}
%{__autoconf}
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd
install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/httpd
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/httpd
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/httpd
touch $RPM_BUILD_ROOT/var/log/httpd/{access,error,agent,referer,suexec}_log
%if %{with ssl}
install -d $RPM_BUILD_ROOT%{_sysconfdir}/ssl
-install %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/ssl/server.crt
-install %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/ssl/server.key
+install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/ssl/server.crt
+install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/ssl/server.key
%endif
install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
install %{SOURCE7} $CFG/10_common.conf
-install %{SOURCE25} $CFG/01_mod_mime.conf
-install %{SOURCE27} $CFG/01_mod_authz_host.conf
-install %{SOURCE28} $CFG/01_mod_cgid.conf
-install %{SOURCE29} $CFG/01_mod_log_config.conf
-install %{SOURCE30} $CFG/01_mod_mime_magic.conf
-install %{SOURCE31} $CFG/01_mod_cache.conf
+install %{SOURCE23} $CFG/01_mod_mime.conf
+install %{SOURCE24} $CFG/01_mod_authz_host.conf
+install %{SOURCE25} $CFG/01_mod_cgid.conf
+install %{SOURCE26} $CFG/01_mod_log_config.conf
+install %{SOURCE27} $CFG/01_mod_mime_magic.conf
+install %{SOURCE28} $CFG/01_mod_cache.conf
install %{SOURCE8} $CFG/20_mod_vhost_alias.conf
install %{SOURCE9} $CFG/25_mod_status.conf
install %{SOURCE10} $CFG/30_mod_proxy.conf
install %{SOURCE17} $CFG/57_mod_autoindex.conf
install %{SOURCE18} $CFG/30_errordocs.conf
install %{SOURCE19} $CFG/30_manual.conf
-install %{SOURCE22} $CFG/16_mod_userdir.conf
-install %{SOURCE23} $CFG/10_mpm.conf
-install %{SOURCE24} $CFG/20_languages.conf
+install %{SOURCE20} $CFG/16_mod_userdir.conf
+install %{SOURCE21} $CFG/10_mpm.conf
+install %{SOURCE22} $CFG/20_languages.conf
echo "LoadModule alias_module modules/mod_alias.so" > $CFG/00_mod_alias.conf
echo "LoadModule authn_file_module modules/mod_authn_file.so" > $CFG/00_mod_authn_file.conf
echo "LoadModule rewrite_module modules/mod_rewrite.so" > $CFG/00_mod_rewrite.conf
echo "LoadModule usertrack_module modules/mod_usertrack.so" > $CFG/00_mod_usertrack.conf
echo "LoadModule unique_id_module modules/mod_unique_id.so" > $CFG/00_mod_unique_id.conf
+echo "LoadModule substitute_module modules/mod_substitute.so" > $CFG/00_mod_substitute.conf
# anything in style dir not ending with .css is trash
rm -rf $RPM_BUILD_ROOT%{_datadir}/manual/style/{lang,latex,xsl}
ScriptAlias /cgi-bin/test-cgi %{_cgibindir}/test-cgi
EOF
+# our suexec is patched to support php + fcgi + suexec with
+# virtual users when called as suexec.fcgi
+ln -sf suexec $RPM_BUILD_ROOT%{_sbindir}/suexec.fcgi
+
# no value
rm $RPM_BUILD_ROOT%{_libexecdir}/build/config.nice
rm $RPM_BUILD_ROOT%{_libexecdir}/*.exp
%groupremove http
fi
-%triggerpostun base -- %{name} <= 2.0.50-6
+%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
%module_scripts mod_speling
%module_scripts mod_ssl
%module_scripts mod_status
+%module_scripts mod_substitute
%module_scripts mod_unique_id
%module_scripts mod_userdir
%module_scripts mod_usertrack
%files suexec
%defattr(644,root,root,755)
%attr(4755,root,root) %{_sbindir}/suexec
+%attr(755,root,root) %{_sbindir}/suexec.fcgi
%attr(755,root,root) %{_libexecdir}/mod_suexec.so
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_suexec.conf
%{_mandir}/man8/suexec.8*
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/apxs
%attr(755,root,root) %{_sbindir}/envvars*
+%dir %{_libexecdir}
%dir %{_libexecdir}/build
%{_libexecdir}/build/[lprs]*.mk
%{_libexecdir}/build/config_vars.mk
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_status.conf
%attr(755,root,root) %{_libexecdir}/mod_status.so
+%files mod_substitute
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_substitute.conf
+%attr(755,root,root) %{_libexecdir}/mod_substitute.so
+
%files mod_unique_id
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_unique_id.conf