X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=apache.spec;h=3d72dbeb8711db91384fcea3020edc1419e341e0;hb=4d51c0eb6be1d8258f1cdc0f3f7e6a2c637e5b39;hp=b735e297a232ee502aab5afb3c470013d40b6040;hpb=8a601151fbaf2bc1e7f4aa4dfa62d18570904302;p=packages%2Fapache.git diff --git a/apache.spec b/apache.spec index b735e29..3d72dbe 100644 --- a/apache.spec +++ b/apache.spec @@ -1,12 +1,13 @@ -# TODO: +# # 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? +# 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 @@ -16,15 +17,21 @@ # 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 itk # ITK MPM %bcond_with distcache # distcache support %bcond_with bucketeer # debug one -# -%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 +%include /usr/lib/rpm/macros.perl 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 @@ -34,12 +41,12 @@ Summary(pt_BR.UTF-8): Servidor HTTPD para prover serviços WWW Summary(ru.UTF-8): Самый популярный веб-сервер Summary(tr.UTF-8): Lider WWW tarayıcı Name: apache -Version: 2.2.11 -Release: 7 +Version: 2.2.19 +Release: 4 License: Apache v2.0 Group: Networking/Daemons/HTTP Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz -# Source0-md5: 03e0a99a5de0f3f568a0087fb9993af9 +# Source0-md5: e9f5453e1e4d7aeb0e7ec7184c6784b5 Source1: %{name}.init Source2: %{name}.logrotate Source3: %{name}.sysconfig @@ -68,36 +75,37 @@ Source25: %{name}-mod_cgid.conf Source26: %{name}-mod_log_config.conf Source27: %{name}-mod_mime_magic.conf Source28: %{name}-mod_cache.conf +Source29: %{name}-example.net.conf Patch0: %{name}-configdir_skip_backups.patch Patch1: %{name}-layout.patch 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 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 (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 +Patch24: %{name}-bug-48094.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: apache-mod_vhost_alias_docroot.patch +# http://mpm-itk.sesse.net/ +Patch28: apache-mpm-itk.patch +Patch29: libtool-tag.patch +# http://people.apache.org/~sf/byterange-no-merge.2.2.diff +Patch30: byterange-no-merge.2.2.diff URL: http://httpd.apache.org/ -BuildRequires: apr-devel >= 1:1.2 -BuildRequires: apr-util-devel >= 1:1.3 +BuildRequires: apr-devel >= 1:1.4.5 +BuildRequires: apr-util-devel >= 1:1.3.10-2 BuildRequires: autoconf BuildRequires: automake BuildRequires: db-devel @@ -106,9 +114,11 @@ BuildRequires: expat-devel 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_ver}} +%{?with_ssl:BuildRequires: openssl-tools >= %{openssl_ver}} BuildRequires: pcre-devel +BuildRequires: pkgconfig +BuildRequires: rpm >= 4.4.9-56 BuildRequires: rpm-build >= 4.4.0 BuildRequires: rpm-perlprov >= 4.1-13 BuildRequires: rpmbuild(macros) >= 1.268 @@ -117,9 +127,7 @@ BuildRequires: zlib-devel 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} @@ -191,9 +199,9 @@ Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd Requires: /sbin/chkconfig -Requires: apr >= 1:1.2 +Requires: apr >= 1:1.4.5 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) @@ -816,20 +824,33 @@ proxy. Dołączono dwa moduły pozwalające magazynować dane w pamięci dysku (używane do cache'owania proxy). %package mod_case_filter -Summary: TODO +Summary: Apache output filter that converts all output to upper case +Summary(pl.UTF-8): Filtr wyjściowy Apache'a zamieniający wszystkie litery na wielkie Group: Networking/Daemons/HTTP Requires: %{name}-base = %{version}-%{release} Provides: apache(mod_case_filter) = %{version}-%{release} %description mod_case_filter +Apache output filter that converts all output to upper case. + +%description mod_case_filter -l pl.UTF-8 +Filtr wyjściowy Apache'a zamieniający wszystkie litery w wyjściu na +wielkie. %package mod_case_filter_in -Summary: TODO +Summary: Apache input filter that converts all request body to upper case +Summary(pl.UTF-8): Filtr wejściowy Apache'a zamieniający wszystkie litery w żądaniu na wielkie Group: Networking/Daemons/HTTP Requires: %{name}-base = %{version}-%{release} Provides: apache(mod_case_filter_in) = %{version}-%{release} %description mod_case_filter_in +Apache input filter that converts all request body (not headers) to +upper case. + +%description mod_case_filter_in -l pl.UTF-8 +Filtr wejściowy Apache'a zamieniający wszystkie litery w ciele żądania +(ale nie nagłówkach) na wielkie. %package mod_cern_meta Summary: CERN httpd metafile semantics @@ -952,6 +973,7 @@ URL: http://httpd.apache.org/docs/2.2/en/mod/mod_dav.html Requires: %{name}-base = %{version}-%{release} Requires: apache-mod_authn_file Requires: apache-mod_setenvif +Requires: apr-util-dbm-db Provides: apache(mod_dav) = %{version}-%{release} %description mod_dav @@ -1382,6 +1404,7 @@ URL: http://httpd.apache.org/docs/2.2/mod/mod_mime.html 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" @@ -1461,6 +1484,23 @@ Moduł zawiera implementację serwera proxy/cache dla Apache. Implementacja zawiera obsługę FTP, CONNECT (dla SSL), HTTP/0.9, HTTP/1.0 i HTTP/1.1. +%package mod_reqtimeout +Summary: Apache module to set timeout and minimum data rate for receiving requests +Summary(pl.UTF-8): Moduł Apache'a pozwalający na ustawianie limitu czasu oraz minimalnego transferu danych +Group: Networking/Daemons/HTTP +URL: http://httpd.apache.org/docs/2.2/mod/mod_reqtimeout.html +Requires: %{name}-base = %{version}-%{release} +Provides: apache(mod_reqtimeout) = %{version}-%{release} +Provides: webserver(reqtimeout) + +%description mod_reqtimeout +Apache module to set timeout and minimum data rate for receiving +requests. + +%description mod_reqtimeout -l pl.UTF-8 +Moduł Apache'a pozwalający na ustawianie limitu czasu oraz minimalnego +transferu danych. + %package mod_rewrite Summary: Apache module with rule-based engine for rewrite requested URLs on the fly Summary(pl.UTF-8): Moduł Apache'a do "przepisywania" adresów URL w locie @@ -1535,6 +1575,10 @@ Epoch: 1 Group: Networking/Daemons/HTTP URL: http://httpd.apache.org/docs/2.2/mod/mod_ssl.html Requires: %{name}-base = %{version}-%{release} +Requires: openssl >= %{openssl_ver} +%if "%{pld_release}" != "ac" +Requires: apr-util-dbm-db +%endif Provides: apache(mod_ssl) = 1:%{version}-%{release} %description mod_ssl @@ -1734,26 +1778,26 @@ Dwa programy testowe/przykładowe cgi: test-cgi and print-env. %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 %patch12 -p1 %patch14 -p1 %patch15 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 -%patch21 -p1 %patch23 -p1 %patch24 -p1 -%patch25 -p0 -%patch26 -p0 +%patch25 -p1 +%patch26 -p1 +%patch28 -p1 +%patch29 -p1 +%patch30 -p0 # using system apr, apr-util and pcre -rm -rf srclib/{apr,apr-util,pcre} +%{__rm} -r srclib/{apr,apr-util,pcre} # sanity check MODULES_API=`awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' include/ap_mmn.h` @@ -1784,12 +1828,12 @@ touch ssl_expr_scan.c 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} %{?with_itk:itk}; do install -d "buildmpm-${mpm}"; cd "buildmpm-${mpm}" ../%configure \ --enable-layout=PLD \ --disable-v4-mapped \ - $( [ "${mpm}" = "prefork" -o "${mpm}" = "worker" -o "${mpm}" = "event" ] && echo "--enable-exception-hook" ) \ + $( [ "${mpm}" = "prefork" -o "${mpm}" = "worker" -o "${mpm}" = "event" -o "${mpm}" = "itk" ] && echo "--enable-exception-hook" ) \ --enable-modules=all \ --enable-mods-shared=all \ --enable-auth-anon \ @@ -1868,7 +1912,7 @@ cd .. done -for mpm in %{?with_metuxmpm:metuxmpm} %{?with_peruser:peruser} worker %{?with_event:event}; do +for mpm in worker %{?with_event:event} %{?with_itk:itk}; 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." @@ -1880,15 +1924,15 @@ done rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \ $RPM_BUILD_ROOT%{_var}/{log/{httpd,archive/httpd},{run,cache}/httpd,lock/mod_dav} \ - $RPM_BUILD_ROOT%{_sysconfdir}/{webapps.d,conf.d} \ - $RPM_BUILD_ROOT%{_datadir}/cgi-bin + $RPM_BUILD_ROOT%{_sysconfdir}/{webapps.d,conf.d,vhosts.d} \ + $RPM_BUILD_ROOT%{_datadir}/{cgi-bin,vhosts} # prefork is default one %{__make} -C buildmpm-prefork install \ 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} %{?with_itk:itk}; do install buildmpm-${mpm}/httpd.${mpm} $RPM_BUILD_ROOT%{_sbindir}/httpd.${mpm} done @@ -1898,45 +1942,45 @@ ln -s %{_localstatedir}/run/httpd $RPM_BUILD_ROOT%{_sysconfdir}/run ln -s %{_var}/log/httpd $RPM_BUILD_ROOT%{_sysconfdir}/logs ln -s conf.d $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf -install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd -install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/httpd -install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/httpd +install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd +cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/httpd +cp -a %{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 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/ssl/server.crt -install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/ssl/server.key +cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/ssl/server.crt +cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/ssl/server.key %endif -install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf - -CFG="$RPM_BUILD_ROOT%{_sysconfdir}/conf.d/" - -install %{SOURCE7} $CFG/10_common.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 %{SOURCE11} $CFG/35_mod_info.conf -install %{SOURCE12} $CFG/40_mod_ssl.conf -install %{SOURCE13} $CFG/45_mod_dav.conf -install %{SOURCE14} $CFG/59_mod_dir.conf -install %{SOURCE15} $CFG/13_mod_suexec.conf -install %{SOURCE16} $CFG/58_mod_deflate.conf -install %{SOURCE17} $CFG/57_mod_autoindex.conf -install %{SOURCE18} $CFG/30_errordocs.conf -install %{SOURCE19} $CFG/30_manual.conf -install %{SOURCE20} $CFG/16_mod_userdir.conf -install %{SOURCE21} $CFG/10_mpm.conf -install %{SOURCE22} $CFG/20_languages.conf +cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf + +CFG="$RPM_BUILD_ROOT%{_sysconfdir}/conf.d" + +cp -a %{SOURCE7} $CFG/10_common.conf +cp -a %{SOURCE23} $CFG/01_mod_mime.conf +cp -a %{SOURCE24} $CFG/01_mod_authz_host.conf +cp -a %{SOURCE25} $CFG/01_mod_cgid.conf +cp -a %{SOURCE26} $CFG/01_mod_log_config.conf +cp -a %{SOURCE27} $CFG/01_mod_mime_magic.conf +cp -a %{SOURCE28} $CFG/01_mod_cache.conf +cp -a %{SOURCE8} $CFG/20_mod_vhost_alias.conf +cp -a %{SOURCE9} $CFG/25_mod_status.conf +cp -a %{SOURCE10} $CFG/30_mod_proxy.conf +cp -a %{SOURCE11} $CFG/35_mod_info.conf +cp -a %{SOURCE12} $CFG/40_mod_ssl.conf +cp -a %{SOURCE13} $CFG/45_mod_dav.conf +cp -a %{SOURCE14} $CFG/59_mod_dir.conf +cp -a %{SOURCE15} $CFG/13_mod_suexec.conf +cp -a %{SOURCE16} $CFG/58_mod_deflate.conf +cp -a %{SOURCE17} $CFG/57_mod_autoindex.conf +cp -a %{SOURCE18} $CFG/30_errordocs.conf +cp -a %{SOURCE19} $CFG/30_manual.conf +cp -a %{SOURCE20} $CFG/16_mod_userdir.conf +cp -a %{SOURCE21} $CFG/10_mpm.conf +cp -a %{SOURCE22} $CFG/20_languages.conf +cp -a %{SOURCE29} $RPM_BUILD_ROOT%{_sysconfdir}/vhosts.d/example.net.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 @@ -1986,9 +2030,10 @@ echo "LoadModule rewrite_module modules/mod_rewrite.so" > $CFG/00_mod_rewrite.co 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 +echo "LoadModule reqtimeout_module modules/mod_reqtimeout.so" >> $CFG/00_mod_reqtimeout.conf # anything in style dir not ending with .css is trash -rm -rf $RPM_BUILD_ROOT%{_datadir}/manual/style/{lang,latex,xsl} +%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/manual/style/{lang,latex,xsl} find $RPM_BUILD_ROOT%{_datadir}/manual/style -type f ! -name '*.css' -print0 | xargs -0r rm -f # find manual files @@ -2017,11 +2062,11 @@ EOF 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} +%{__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} -r $RPM_BUILD_ROOT%{_sysconfdir}/{extra,original} %clean rm -rf $RPM_BUILD_ROOT @@ -2249,6 +2294,7 @@ fi %module_scripts mod_mime_magic %module_scripts mod_negotiation %module_scripts mod_proxy +%module_scripts mod_reqtimeout %module_scripts mod_rewrite %module_scripts mod_setenvif %module_scripts mod_speling @@ -2296,10 +2342,12 @@ fi %{_sysconfdir}/logs %ghost %{_sysconfdir}/httpd.conf %attr(750,root,root) %dir %{_sysconfdir}/conf.d +%attr(750,root,root) %dir %{_sysconfdir}/vhosts.d %attr(750,root,root) %dir %{_sysconfdir}/webapps.d %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_common.conf %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mpm.conf +%attr(640,root,root) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/vhosts.d/example.net.conf %attr(640,root,root) %{_sysconfdir}/magic %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/httpd %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/* @@ -2323,6 +2371,8 @@ fi %dir %{_datadir}/cgi-bin %dir %{_datadir}/html +%dir %{_datadir}/vhosts +# do not adapter here, %{_datadir} != /usr/share here %{_datadir}/icons %files doc -f manual.files @@ -2644,6 +2694,11 @@ fi %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_proxy.conf %attr(755,root,root) %{_libexecdir}/mod_proxy*.so +%files mod_reqtimeout +%defattr(644,root,root,755) +%attr(755,root,root) %{_libexecdir}/mod_reqtimeout.so +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_reqtimeout.conf + %files mod_rewrite %defattr(644,root,root,755) %attr(755,root,root) %{_sbindir}/httxt2dbm