# 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: 1
-License: Apache Group License
+Version: 2.2.9
+Release: 2
+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
Obsoletes: apache-mod_optional_fn_import
Obsoletes: apache-mod_optional_hook_import
Conflicts: apache < 2.2.0
+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
%description errordocs -l pl.UTF-8
Dokumenty opisujące błędy HTTP dla Apache'a w wielu językach.
-%package apxs
-Summary: APache eXtenSion tool
-Summary(pl.UTF-8): Narzędzie do rozszerzania Apache'a
-Group: Development/Tools
-Requires: apr-devel
-
-%description apxs
-APache eXtenSion tool.
-
-%description apxs -l pl.UTF-8
-Narzędzie do rozszerzania Apache'a.
-
%package devel
Summary: Module development tools for the Apache web server
Summary(es.UTF-8): Archivos de inclusión del Apache para desarrollo de módulos
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: %{name}-apxs = %{version}-%{release}
Requires: apr-util-devel >= 1:1.2
Requires: libtool
+Obsoletes: apache-apxs
Obsoletes: apache-static
%description devel
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
URL: http://httpd.apache.org/docs/2.2/mod/mod_log_config.html
Requires: %{name}-base = %{version}-%{release}
Provides: apache(mod_log_config) = %{version}-%{release}
+Provides: webserver(log)
%description mod_log_config
This module provides for flexible logging of client requests. Logs are
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
%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_subsitute.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}
ln -sf %{_bindir}/htpasswd $RPM_BUILD_ROOT%{_sbindir}
# cgi_test: create config file with ScriptAlias
-cat << EOF > $CFG/09_cgi_test.conf
+cat << 'EOF' > $CFG/09_cgi_test.conf
ScriptAlias /cgi-bin/printenv %{_cgibindir}/printenv
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
rm $RPM_BUILD_ROOT%{_sysconfdir}/mime.types
rm $RPM_BUILD_ROOT%{_sysconfdir}/httpd.prefork.conf
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/{extra,original}
%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
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/.
+Please report bugs to <http://bugs.pld-linux.org/>.
EOF
%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
%defattr(644,root,root,755)
%doc ABOUT_APACHE CHANGES README
%doc docs/conf/mime.types
-
%attr(754,root,root) /etc/rc.d/init.d/httpd
-
%attr(751,root,root) %dir %{_sysconfdir}
%{_sysconfdir}/modules
%{_sysconfdir}/run
%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*
%{_datadir}/html/*.gif
%{_datadir}/html/*.png
-%files apxs
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/apxs
-%attr(755,root,root) %{_sbindir}/envvars*
-# package libexecdir also to -apxs, as -apxs and -devel don't require -base package
-%dir %{_libexecdir}
-%dir %{_libexecdir}/build
-%{_libexecdir}/build/config_vars.mk
-%{_mandir}/man8/apxs.8*
-
%files tools
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/ab
%files devel
%defattr(644,root,root,755)
-%{_includedir}
-# FIXME: httpd.exp needed only on AIX
-%{_libexecdir}/*.exp
+%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(755,root,root) %{_libexecdir}/build/*.sh
+%{_includedir}
+%{_mandir}/man8/apxs.8*
%files mod_actions
%defattr(644,root,root,755)
%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