# _without_ssl - don't build with SSL support
+# _without_ldap - don't build with LDAP support
# TODO:
# - mod_case_filter
# - mod_case_filter_in
# - --with-suexec-gidmin=500 or =100 ?
# - --with-suexec-uidmin=500 or =1000 ?
%include /usr/lib/rpm/macros.perl
+# this is internal macro, don't change to %%apache_modules_api
+%define _apache_modules_api 20020903
Summary: The most widely used Web server on the Internet
Summary(de): Leading World Wide Web-Server
Summary(es): Servidor HTTPD para proveer servicios WWW
Summary(ru): óÁÍÙÊ ÐÏÐÕÌÑÒÎÙÊ ×ÅÂ-ÓÅÒ×ÅÒ
Summary(tr): Lider WWW tarayýcý
Name: apache
-Version: 2.0.46
-Release: 0.2
+Version: 2.0.48
+Release: 0.1.3
License: Apache Group License
Group: Networking/Daemons
-URL: http://httpd.apache.org/
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz
-# Source0-md5: ff682f82f0808eb01df60824d959ebe8
+# Source0-md5: 466c63bb71b710d20a5c353df8c1a19c
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: %{name}-icons.tar.gz
Source14: %{name}-mod_dir.conf
Source20: %{name}-server.crt
Source21: %{name}-server.key
-Patch0: %{name}-apxs.patch
-Patch1: %{name}-configdir_skip_backups.patch
-Patch2: %{name}-layout.patch
-Patch3: %{name}-suexec.patch
+Patch0: %{name}-configdir_skip_backups.patch
+Patch1: %{name}-layout.patch
+Patch2: %{name}-suexec.patch
+Patch3: %{name}-nolibs.patch
+Patch4: %{name}-apr.patch
+URL: http://httpd.apache.org/
+BuildRequires: apr-devel >= 1:0.9.4-1
+BuildRequires: apr-util-devel >= 1:0.9.5-0.3
BuildRequires: db-devel
BuildRequires: expat-devel
BuildRequires: gdbm-devel >= 1.8.3
-%{!?_without_ssl:BuildRequires: openssl-devel >= 0.9.7}
-%{!?_without_ssl:BuildRequires: openssl-tools >= 0.9.7}
+BuildRequires: libtool >= 1.5
+%{!?_without_ldap:BuildRequires: openldap-devel}
+%{!?_without_ssl:BuildRequires: openssl-devel >= 0.9.7c}
+%{!?_without_ssl:BuildRequires: openssl-tools >= 0.9.7c}
BuildRequires: perl-devel >= 5.004
BuildRequires: rpm-perlprov >= 4.0.4
BuildRequires: zlib-devel
-BuildRequires: libtool
-PreReq: perl
+PreReq: perl-base
PreReq: rc-scripts
-Requires(pre): /usr/bin/getgid
-Requires(pre): /bin/id
-Requires(pre): /usr/sbin/groupadd
-Requires(pre): /usr/sbin/useradd
-Requires(postun): /usr/sbin/userdel
-Requires(postun): /usr/sbin/groupdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires(postun): /usr/sbin/userdel
+Requires(postun): /usr/sbin/groupdel
Requires(post,preun): /sbin/chkconfig
Requires(post,postun): /sbin/ldconfig
-Requires(post): fileutils
-Requires: mailcap
+Requires(post): fileutils
+Requires: apr-util >= 1:0.9.4-1
Requires: /etc/mime.types
+Requires: mailcap
Requires: psmisc >= 20.1
Provides: httpd = %{version}
Provides: webserver = %{version}
+Provides: apache(modules-api) = %{_apache_modules_api}
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Obsoletes: apache-extra
-Obsoletes: apache6
Obsoletes: apache-doc
+Obsoletes: apache6
+Obsoletes: apache1
Obsoletes: indexhtml
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/httpd
%define _includedir %{_prefix}/include/apache
innym UID ni¿ wywo³uj±cy je serwer. Normalnie programy CGI i SSI s±
wykonywane jako taki sam u¿ytkownik jak serwer WWW.
+%package index
+Summary: Apache index.html* files
+Summary(pl): Pliki Apache index.html*
+Group: Documentation
+Requires: %{name} = %{version}
+
+%description index
+Apache index.html* files.
+
+%description index -l pl
+Pliki Apache index.html*.
+
%package devel
Summary: Module development tools for the Apache web server
Summary(es): Archivos de inclusión del Apache para desarrollo de módulos
Summary(ru): óÒÅÄÓÔ×Á ÒÁÚÒÁÂÏÔËÉ ÍÏÄÕÌÅÊ ÄÌÑ ×ÅÂ-ÓÅÒ×ÅÒÁ Apache
Group: Networking/Utilities
Requires: %{name} = %{version}
-Requires: apr-devel = %{version}
+Requires: apr-util-devel >= 1:0.9.4
+Requires: libtool
+Obsoletes: %{name}-static
%description devel
The apache-devel package contains header files for Apache.
(DSOs). Este pacote precisa ser instalado se você deseja compilar ou
desenvolver módulos adicionais para o Apache.
-%package static
-Summary: Static Apache web server libraries
-Summary(pl): Statyczne biblioteki serwera WWW Apache
-Group: Development/Libraries
-Requires: %{name}-devel = %{version}
-
-%description static
-The apache-static package contains static libraries for Apache.
-
-%description static -l pl
-Statyczne biblioteki serwera Apache.
-
%package mod_actions
Summary: Apache module for run CGI whenever a file of a certain type is requested
Summary(pl): Modu³ Apache'a do uruchamiania skryptów CGI
anonimowych serwerów FTP (u¿ytkownik "anonymous" oraz has³o w postaci
adresu pocztowego u¿ytkownika).
+%package mod_auth_ldap
+Summary: Apache module with LDAP user access authentication
+Summary(pl): Modu³ Apache'a oferuj±cy autoryzacjê u¿ytkowników poprzez LDAP
+Group: Networking/Daemons
+Requires: %{name} = %{version}
+
+%description mod_auth_ldap
+Apache module with LDAP user access authentication.
+
+%description mod_auth_ldap -l pl
+Modu³ Apache'a oferuj±cy autoryzacjê u¿ytkowników poprzez LDAP
+
%package mod_auth_dbm
Summary: Apache module with user authentication which uses DBM files
Summary(pl): Modu³ Apache'a z mechanizmem identyfikacji korzystaj±cym z plików DBM
%package mod_dav
Summary: Apache module - Distributed Authoring and Versioning
-Summary(pl): Modu³ Apache'a - Rozproszone autorstwo i wersjonowanie
+Summary(pl): Modu³ Apache'a - rozproszone autorstwo i wersjonowanie
Group: Networking/Daemons
Requires: %{name} = %{version}
%package mod_deflate
Summary: Apache module: Compress content before it is delivered to the client
-Summary(pl): Modu³ kompresuj±cy dane przed przes³aniem ich do klienta
+Summary(pl): Modu³ Apache'a kompresuj±cy dane przed przes³aniem ich do klienta
Group: Networking/Daemons
Requires: %{name} = %{version}
%package mod_dir
Summary: Apache module for "trailing slash" redirects and serving directory index files
-Summary(pl): Modu³ oferuj±cy przekierowania i udostêpnianie informacji o zawarto¶ci katalogu
+Summary(pl): Modu³ Apache'a oferuj±cy przekierowania i udostêpnianie informacji o zawarto¶ci katalogu
Group: Networking/Daemons
Requires: %{name} = %{version}
%package mod_headers
Summary: Apache module allows for the customization of HTTP response headers
-Summary(pl): Modu³ pozwalaj±cy na modyfikacjê nag³ówków HTTP
+Summary(pl): Modu³ Apache'a pozwalaj±cy na modyfikacjê nag³ówków HTTP
Group: Networking/Daemons
Requires: %{name} = %{version}
%package mod_imap
Summary: Apache module with imap-file handler
-Summary(pl): Modu³ z obs³ug± imap-file
+Summary(pl): Modu³ Apache'a z obs³ug± imap-file
Group: Networking/Daemons
Requires: %{name} = %{version}
%package mod_info
Summary: Apache module with comprehensive overview of the server configuration
-Summary(pl): Modu³ udostêpniaj±cy informacje o serwerze
+Summary(pl): Modu³ Apache'a udostêpniaj±cy informacje o serwerze
Group: Networking/Daemons
Requires: %{name} = %{version}
Modu³ udostêpniaj±cy informacje o konfiguracji serwera,
zainstalowanych modu³ach itp.
+%package mod_ldap
+Summary: Apache module to use LDAP connections
+Summary(pl): Modu³ Apache'a umo¿liwiaj±cy korzystanie z po³±czeñ LDAP
+Group: Networking/Daemons
+Requires: %{name} = %{version}
+
+%description mod_ldap
+Apache module to use LDAP connections.
+
+%description mod_ldap -l pl
+Modu³ Apache'a umo¿liwiaj±cy korzystanie z po³±czeñ LDAP.
+
%package mod_proxy
Summary: Apache module with Web proxy
-Summary(pl): Modu³ dodaj±cy obs³ugê serwera proxy
+Summary(pl): Modu³ Apache'a dodaj±cy obs³ugê serwera proxy
Group: Networking/Daemons
Requires: %{name} = %{version}
%package mod_rewrite
Summary: Apache module with rule-based engine for rewrite requested URLs on the fly
-Summary(pl): Modu³ do "przepisywania" adresów URL w locie
+Summary(pl): Modu³ Apache'a do "przepisywania" adresów URL w locie
Group: Networking/Daemons
Requires: %{name} = %{version}
ÛÉÆÒÏ×ÁÎÉÑ ÓÒÅÄÓÔ×ÁÍÉ Secure Sockets Layer (SSL) É Transport Layer
%package mod_status
-Summary: Server status report module for apache
-Summary(pl): Modu³ udostêpniaj±cy informacje statystyczne z serwera
+Summary: Server status report module for Apache
+Summary(pl): Modu³ udostêpniaj±cy informacje statystyczne z serwera Apache
Group: Networking/Daemons
Requires: %{name} = %{version}
%package mod_usertrack
Summary: Apache module for user tracking using cookies
-Summary(pl): Modu³ s³u¿±cy do ¶ledzenia "ciasteczek"
+Summary(pl): Modu³ Apache'a s³u¿±cy do ¶ledzenia "ciasteczek"
Group: Networking/Daemons
Requires: %{name} = %{version}
%package mod_vhost_alias
Summary: Apache module for dynamically configured mass virtual hosting
-Summary(pl): Modu³ dodaj±cy obs³ugê hostów wirtualnych
+Summary(pl): Modu³ Apache'a dodaj±cy obs³ugê hostów wirtualnych
Group: Networking/Daemons
Requires: %{name} = %{version}
%package mod_unique_id
Summary: Apache module which provides a magic token for each request
-Summary(pl): Modu³ nadaj±cy ka¿demu zapytaniu unikalny token
+Summary(pl): Modu³ Apache'a nadaj±cy ka¿demu zapytaniu unikalny token
Group: Networking/Daemons
Requires: %{name} = %{version}
%package mod_expires
Summary: Apache module which generates Expires HTTP headers
-Summary(pl): Modu³ generuj±cy nag³ówki HTTP Expires
+Summary(pl): Modu³ Apache'a generuj±cy nag³ówki HTTP Expires
Group: Networking/Daemons
Requires: %{name} = %{version}
¼ród³owych lub odwo³ania klienta.
%package mod_file_cache
-Summary: Apache module: Caches a static list of files in memory
-Summary(pl): Modu³ cache'uj±cy statyczn± listê plików w pamiêci
+Summary: Apache module: caches a static list of files in memory
+Summary(pl): Modu³ Apache'a cache'uj±cy statyczn± listê plików w pamiêci
Group: Networking/Daemons
Obsoletes: %{name}-mmap_static
Requires: %{name} = %{version}
%description mod_file_cache -l pl
Modu³ cache'uj±cy statyczn± listê plików w pamiêci.
-%package -n apr
-Summary: The Apache Portable Runtime library
-Summary(pl): Przeno¶na biblioteka Apache
-Group: Libraries
-
-%description -n apr
-The Apache Portable Run-time libraries have been designed to provide a
-common interface to low level routines across any platform.
-
-%description -n apr -l pl
-Przeno¶na biblioteka Apache zosta³a zaprojektowana w celu
-udostêpnienia popularnego i jednolitego interfejsu do niskopoziomowych
-funkcji na dowolnej platformie.
-
-%package -n apr-devel
-Summary: The includes and linker libraries for development with APR
-Summary(pl): Pliki nag³ówkowe, biblioteki dla konsolidatora APR
-Group: Development/Libraries
-Requires: apr = %{version}
-Requires: gdbm-devel >= 1.8.3
-Requires: db-devel
-Requires: expat-devel
-
-%description -n apr-devel
-The includes and linker libraries for development with APR.
-
-%description -n apr-devel -l pl
-Pliki nag³ówkowe, biblioteki dla konsolidatora APR.
-
-#%package -n apr-static
-#Summary: Static APR libraries
-#Summary(pl): Statyczne biblioteki APR
-#Group: Development/Libraries
-#Requires: apr-devel = %{version}
-#Requires: gdbm-static >= 1.8.3
-#Requires: db-static
-#Requires: expat-static
-
-#%description -n apr-static
-#Static APR libraries.
-
-#%description -n apr-static -l pl
-#Statyczne biblioteki APR.
-
%prep
%setup -q -n httpd-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
%build
+# sanity check
+MODULES_API=`awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' include/ap_mmn.h`
+if [ "$MODULES_API" != "%_apache_modules_api" ]; then
+ echo "Set %%_apache_modules_api to $MODILES_API and rerun."
+ exit 1
+fi
+./buildconf
%configure \
+ --prefix=%{_libexecdir} \
--enable-layout=PLD \
--enable-modules=all \
--enable-mods-shared=all \
--enable-optional-hook-import \
--enable-optional-fn-import \
--enable-optional-fn-export \
+ %{!?_without_ldap:--enable-ldap} \
+ %{!?_without_ldap:--enable-auth-ldap} \
--enable-dav \
--enable-info \
--enable-suexec \
--with-suexec-logfile=/var/log/httpd/suexec_log \
--with-suexec-uidmin=500 \
--with-suexec-gidmin=500 \
- --with-suexec-umask=077
+ --with-suexec-umask=077 \
+ --with-apr=%{_bindir} \
+ --with-apr-util=%{_bindir}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig}
-install -d $RPM_BUILD_ROOT%{_var}/log/{httpd,archiv/httpd}
-install -d $RPM_BUILD_ROOT%{_var}/{run,cache}/apache
+install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \
+ $RPM_BUILD_ROOT%{_var}/{log/{httpd,archiv/httpd},{run,cache}/apache}
-%{__make} install DESTDIR=$RPM_BUILD_ROOT \
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT \
installbuilddir=%{_sysconfdir}/build \
prefix=%{_sysconfdir}/httpd \
libexecdir=%{_libdir}/%{name} \
mv -f $RPM_BUILD_ROOT%{_sysconfdir}/build \
$RPM_BUILD_ROOT%{_libexecdir}/build
-perl -pi -e "s#$RPM_BUILD_ROOT##g" $RPM_BUILD_ROOT%{_libexecdir}/build/config_vars.mk
+perl -pi -e "s#$RPM_BUILD_ROOT##g" $RPM_BUILD_ROOT%{_libexecdir}/build/*
+perl -pi -e "s#$RPM_BUILD_DIR#%{_usrsrc}#g" $RPM_BUILD_ROOT%{_libexecdir}/build/*
perl -pi -e "s#-pthread#-lpthread#g" $RPM_BUILD_ROOT%{_libdir}/lib*.la
+perl -pi -e 's#/etc/httpd/build#%{_libexecdir}/build#g' $RPM_BUILD_ROOT%{_libexecdir}/build/*
+ln -sf %{_bindir}/libtool $RPM_BUILD_ROOT%{_libexecdir}/build/libtool
+ln -sf %{_libexecdir}/build $RPM_BUILD_ROOT%{_sysconfdir}/build
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd
install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/apache
install %{SOURCE13} $CFG/45_mod_dav.conf
install %{SOURCE14} $CFG/59_mod_dir.conf
+echo "LoadModule ldap_module %{_libexecdir}/mod_ldap.so" > $CFG/49_mod_ldap.conf
echo "LoadModule actions_module %{_libexecdir}/mod_actions.so" > $CFG/50_mod_actions.conf
echo "LoadModule auth_module %{_libexecdir}/mod_auth.so" > $CFG/51_mod_auth.conf
echo "LoadModule auth_anon_module %{_libexecdir}/mod_auth_anon.so" > $CFG/52_mod_auth_anon.conf
echo "LoadModule cgid_module %{_libexecdir}/mod_cgid.so" > $CFG/56_mod_cgid.conf
echo "LoadModule charset_lite_module %{_libexecdir}/mod_charset_lite.so" > $CFG/57_mod_charset_lite.conf
echo "LoadModule deflate_module %{_libexecdir}/mod_deflate.so" > $CFG/58_mod_deflate.conf
+echo "LoadModule auth_ldap_module %{_libexecdir}/mod_auth_ldap.so" > $CFG/59_mod_auth_ldap.conf
echo "LoadModule expires_module %{_libexecdir}/mod_expires.so" > $CFG/60_mod_expires.conf
echo "LoadModule file_cache_module %{_libexecdir}/mod_file_cache.so" > $CFG/61_mod_file_cache.conf
echo "LoadModule headers_module %{_libexecdir}/mod_headers.so" > $CFG/62_mod_headers.conf
%pre
if [ -n "`getgid http`" ]; then
- if [ "`getgid http`" != "51" ]; then
- echo "Error: group http doesn't have gid=51. Correct this before installing apache." 1>&2
- exit 1
- fi
+ if [ "`getgid http`" != "51" ]; then
+ echo "Error: group http doesn't have gid=51. Correct this before installing apache." 1>&2
+ exit 1
+ fi
else
- /usr/sbin/groupadd -g 51 -r -f http
+ /usr/sbin/groupadd -g 51 -r -f http
fi
if [ -n "`id -u http 2>/dev/null`" ]; then
- if [ "`id -u http`" != "51" ]; then
- echo "Error: user http doesn't have uid=51. Correct this before installing apache." 1>&2
- exit 1
- fi
+ if [ "`id -u http`" != "51" ]; then
+ echo "Error: user http doesn't have uid=51. Correct this before installing apache." 1>&2
+ exit 1
+ fi
else
- /usr/sbin/useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http 1>&2
+ /usr/sbin/useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http 1>&2
fi
%post
%postun
/sbin/ldconfig
if [ "$1" = "0" ]; then
- /usr/sbin/userdel http
- /usr/sbin/groupdel http
+ /usr/sbin/userdel http
+ /usr/sbin/groupdel http
fi
%post mod_actions
fi
fi
-%post -n apr -p /sbin/ldconfig
-%postun -n apr -p /sbin/ldconfig
-
%files
%defattr(644,root,root,755)
%doc ABOUT_APACHE CHANGES README
%attr(750,root,root) %dir %{_sysconfdir}/httpd.conf
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/httpd.conf/*_httpd.conf
%attr(640,root,root) %{_sysconfdir}/magic
-%attr(755,root,root) %dir %{_libexecdir}/build
-%attr(755,root,root) %{_libexecdir}/build/*.mk
-%attr(755,root,root) %{_libexecdir}/build/*.sh
-%attr(755,root,root) %{_libexecdir}/build/libtool
-
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/*
%attr(640,root,root) %config(noreplace) /etc/logrotate.d/*
%doc%attr(755,root,root) %{_datadir}/manual/search/manual-index.cgi
%{_datadir}/manual/style
-# Having all index.html.LANG files here is very bad idea.
%attr(755,root,root) %dir %{_datadir}/html
-%config(noreplace,missingok) %{_datadir}/html/index.html
-%config(noreplace,missingok) %{_datadir}/html/index.html.en
-%{_datadir}/html/*.gif
-%{_datadir}/html/*.png
%{_datadir}/icons
%attr(755,root,root) %{_datadir}/cgi-bin
%attr(755,root,root) %{_libexecdir}/mod_suexec.so
%{_datadir}/manual/mod/mod_suexec.html.en
-%files devel
+%files index
%defattr(644,root,root,755)
-%{_includedir}/[!a]*
-%{_includedir}/ap[!r]*
-%{_libexecdir}/*.exp
+%config(noreplace,missingok) %{_datadir}/html/index.html*
+%{_datadir}/html/*.gif
+%{_datadir}/html/*.png
-%files static
+%files devel
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_includedir}
+%{_libexecdir}/*.exp
+%attr(755,root,root) %dir %{_libexecdir}/build
+%attr(644,root,root) %{_libexecdir}/build/*.mk
+%attr(755,root,root) %{_libexecdir}/build/*.sh
+%attr(755,root,root) %{_libexecdir}/build/libtool
%files mod_actions
%defattr(644,root,root,755)
%attr(755,root,root) %{_libexecdir}/mod_auth_anon.so
%{_datadir}/manual/mod/mod_auth_anon.html.en
+%if %{!?_without_ldap:1}%{?_without_ldap:0}
+%files mod_auth_ldap
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/httpd.conf/*_mod_auth_ldap.conf
+%attr(755,root,root) %{_libexecdir}/mod_auth_ldap.so
+%{_datadir}/manual/mod/mod_auth_ldap.html.en
+%endif
+
+%if %{!?_without_ldap:1}%{?_without_ldap:0}
+%files mod_ldap
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/httpd.conf/*_mod_ldap.conf
+%attr(755,root,root) %{_libexecdir}/mod_ldap.so
+%{_datadir}/manual/mod/mod_ldap.html.en
+%endif
+
%files mod_auth_dbm
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/httpd.conf/*_mod_auth_dbm.conf
%{_datadir}/manual/mod/mod_vhost_alias.html.en
%{_datadir}/manual/vhosts
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/httpd.conf/*_mod_vhost_alias.conf
-
-%files -n apr
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libapr*.so.*
-
-%files -n apr-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/apr-config
-%attr(755,root,root) %{_bindir}/apu-config
-%dir %{_includedir}
-%{_includedir}/apr*.h
-#%%{_libdir}/APRVARS
-%{_libdir}/apr*.exp
-%attr(755,root,root) %{_libdir}/libapr*.so
-%{_libdir}/libapr*.la
-
-#%files -n apr-static
-#%defattr(644,root,root,755)
-#%{_libdir}/libapr.a