-# TODO:
-# - config examples for mod_*
-# - --with-suexec-uidmin=500 or =1000 ?
-# - subpackages for MPMs
-# - !!!check if all modules (*.so) are exactly the same for different MPMs
-# - check those autn modules inner deps
-# - for external packages: don't use any apache module name in dep as they
-# differ for apache 1.3/2.0/2.2!? any better ideas? rpm Suggests: tags?
-# - for mod_auth_* modules require each auth module to require virtual authn so at least *_default is chosen?
-# - same for mod_authz
-# - mod_auth_digest and mod_auth_basic R: apache(authn) ?
-# - drop mod_case_filter* or find summary and description for them
-# - build modules only once (not with each mpm)
-
# Conditional build:
%bcond_without ssl # build without SSL support
%bcond_without ldap # build without LDAP support
-%bcond_without metuxmpm # metux MPM
%bcond_without peruser # peruser MPM
%bcond_without event # event MPM
%bcond_with distcache # distcache support
%include /usr/lib/rpm/macros.perl
# this is internal macro, don't change to %%apache_modules_api
%define _apache_modules_api 20051115
+
+%if "%{pld_release}" != "ac"
+%define openssl_ver 0.9.8i
+%else
+%define openssl_ver 0.9.7d
+%endif
Summary: The most widely used Web server on the Internet
Summary(de.UTF-8): Leading World Wide Web-Server
Summary(es.UTF-8): Servidor HTTPD para proveer servicios WWW
Summary(ru.UTF-8): Самый популярный веб-сервер
Summary(tr.UTF-8): Lider WWW tarayıcı
Name: apache
-Version: 2.2.11
-Release: 6
+Version: 2.2.14
+Release: 7
License: Apache v2.0
Group: Networking/Daemons/HTTP
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz
-# Source0-md5: 03e0a99a5de0f3f568a0087fb9993af9
+# Source0-md5: 2c1e3c7ba00bcaa0163da7b3e66aaa1e
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: %{name}.sysconfig
Patch2: %{name}-suexec.patch
Patch3: %{name}-branding.patch
Patch4: %{name}-apr.patch
-# project homepage http://www.metux.de/mpm/en/?patpage=index
-# http://www.sannes.org/metuxmpm/
-Patch5: httpd-2.0.48-metuxmpm-r8.patch
# what about this? it isn't applied...
Patch6: httpd-2.0.40-xfsz.patch
Patch7: %{name}-syslibs.patch
Patch18: %{name}-v6only-ENOPROTOOPT.patch
Patch19: %{name}-conffile-path.patch
Patch20: %{name}-apxs.patch
-# http://www.telana.com/peruser.php (2.2.3-0.3.0)
-Patch21: httpd-peruser.patch
Patch23: %{name}-suexec_fcgi.patch
-Patch24: %{name}-revert-bug-40463.patch
-Patch25: %{name}-prefork-graceful-fix.patch
-Patch26: %{name}-pollset-segv.patch
URL: http://httpd.apache.org/
BuildRequires: apr-devel >= 1:1.2
BuildRequires: apr-util-devel >= 1:1.3
BuildRequires: gdbm-devel >= 1.8.3
BuildRequires: libtool >= 2:1.5
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
-%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
-%{?with_ssl:BuildRequires: openssl-tools >= 0.9.7d}
+%{?with_ssl:BuildRequires: openssl-devel >= %{openssl_version}}
+%{?with_ssl:BuildRequires: openssl-tools >= %{openssl_version}}
BuildRequires: pcre-devel
+BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpm-build >= 4.4.0
BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: rpmbuild(macros) >= 1.268
Requires: %{name}-errordocs = %{version}-%{release}
Requires: %{name}-mod_alias = %{version}-%{release}
Requires: %{name}-mod_auth = %{version}-%{release}
-Requires: %{name}-mod_cgi = %{version}-%{release}
Requires: %{name}-mod_env = %{version}-%{release}
-Requires: %{name}-mod_include = %{version}-%{release}
Requires: %{name}-mod_log_config = %{version}-%{release}
Requires: %{name}-mod_mime = %{version}-%{release}
Requires: %{name}-mod_mime_magic = %{version}-%{release}
Requires: /sbin/chkconfig
Requires: apr >= 1:1.2
Requires: psmisc >= 20.1
-Requires: rc-scripts >= 0.4.0.15
+Requires: rc-scripts >= 0.4.1.23
Provides: apache(modules-api) = %{_apache_modules_api}
Provides: group(http)
Provides: user(http)
Requires: %{name}-base = %{version}-%{release}
Requires: mailcap
Provides: apache(mod_mime) = %{version}-%{release}
+Provides: webserver(mime)
%description mod_mime
This module is used to associate various bits of "meta information"
URL: http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
Requires: %{name}-base = %{version}-%{release}
Provides: apache(mod_rewrite) = %{version}-%{release}
+Provides: webserver(rewrite)
%description mod_rewrite
This package contains It provides a rule-based rewriting engine to
Group: Networking/Daemons/HTTP
URL: http://httpd.apache.org/docs/2.2/mod/mod_ssl.html
Requires: %{name}-base = %{version}-%{release}
+Requires: openssl >= %{openssl_version}
+%if "%{pld_release}" != "ac"
+Requires: apr-util-dbm-db
+%endif
Provides: apache(mod_ssl) = 1:%{version}-%{release}
%description mod_ssl
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
-%patch21 -p1
%patch23 -p1
-%patch24 -p1
-%patch25 -p0
-%patch26 -p0
# using system apr, apr-util and pcre
rm -rf srclib/{apr,apr-util,pcre}
cd ../..
CPPFLAGS="-DMAX_SERVER_LIMIT=200000 -DBIG_SECURITY_HOLE=1"
-for mpm in prefork worker %{?with_metuxmpm:metuxmpm} %{?with_peruser:peruser} %{?with_event:event}; do
+for mpm in prefork worker %{?with_event:event}; do
install -d "buildmpm-${mpm}"; cd "buildmpm-${mpm}"
../%configure \
--enable-layout=PLD \
done
-for mpm in %{?with_metuxmpm:metuxmpm} %{?with_peruser:peruser} worker %{?with_event:event}; do
+for mpm in worker %{?with_event:event}; do
if ! cmp -s buildmpm-prefork/modules-inside buildmpm-${mpm}/modules-inside; then
echo "List of compiled modules is different between prefork-MPM and ${mpm}-MPM!"
echo "Build failed."
DESTDIR=$RPM_BUILD_ROOT
# install other mpm-s
-for mpm in %{?with_metuxmpm:metuxmpm} %{?with_peruser:peruser} worker %{?with_event:event}; do
+for mpm in worker %{?with_event:event}; do
install buildmpm-${mpm}/httpd.${mpm} $RPM_BUILD_ROOT%{_sbindir}/httpd.${mpm}
done