-# TODO
-# - move DocumentRoot and cgi-dir out of /home/services
#
# Conditional build:
%bcond_with rewrite_ldap # enable ldap map support for mod_rewrite (alpha)
Summary(uk): îÁÊÐÏÐÕÌÑÒΦÛÉÊ Web-Server
Summary(zh_CN): Internet ÉÏÓ¦ÓÃ×î¹ã·ºµÄ Web ·þÎñ³ÌÐò¡£
Name: apache1
-Version: 1.3.34
-Release: 5.4
+Version: 1.3.36
+Release: 1.5
License: Apache Group
Group: Networking/Daemons
Source0: http://www.apache.org/dist/httpd/apache_%{version}.tar.gz
-# Source0-md5: 9978cc552b423f0015c1052d23ab619e
+# Source0-md5: d6c0709fc1f20d6d93d30435fcfc4843
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: apache-icons.tar.gz
Patch3: %{name}-apxs.patch
Patch4: %{name}-mod_ssl-addon.patch
Patch5: %{name}-mod_ssl-eapi.patch
-Patch6: %{name}-EAPI_MM_CORE_PATH-correction.patch
-Patch7: %{name}-EAPI_MM=SYSTEM.patch
-Patch8: %{name}-ipv6-PLD.patch
-Patch9: %{name}-modules_symbols.patch
-Patch10: %{name}-apxs_force_rm_cp.patch
-Patch11: %{name}-db3.patch
-Patch12: %{name}-lookup_map_ldap.patch
-Patch13: %{name}-man.patch
-Patch14: %{name}-fpic.patch
-Patch15: %{name}-buff.patch
-Patch16: %{name}-mkstemp.patch
-Patch17: %{name}-EAPI-missing_files.patch
-Patch18: %{name}-PLD-nov6.patch
-Patch19: %{name}-configdir_skip_backups.patch
-Patch20: %{name}-apxs-quiet.patch
-Patch21: %{name}-db4.patch
-Patch22: %{name}-less-libs.patch
+# http://allafrica.com/tools/apache/mod_proxy/mod_proxy-khk_1.3.26-patch.diff with eapi duplicates removed
+Patch6: %{name}-mod_proxy-khk.patch
+Patch7: %{name}-EAPI_MM_CORE_PATH-correction.patch
+Patch8: %{name}-EAPI_MM=SYSTEM.patch
+Patch9: %{name}-ipv6-PLD.patch
+Patch10: %{name}-modules_symbols.patch
+Patch11: %{name}-apxs_force_rm_cp.patch
+Patch12: %{name}-db3.patch
+Patch13: %{name}-lookup_map_ldap.patch
+Patch14: %{name}-man.patch
+Patch15: %{name}-fpic.patch
+Patch16: %{name}-buff.patch
+Patch17: %{name}-mkstemp.patch
+Patch18: %{name}-EAPI-missing_files.patch
+Patch19: %{name}-PLD-nov6.patch
+Patch20: %{name}-configdir_skip_backups.patch
+Patch21: %{name}-apxs-quiet.patch
+Patch22: %{name}-db4.patch
+Patch23: %{name}-less-libs.patch
+Patch24: %{name}-rwrite-debug.patch
+Patch25: %{name}-apxs-DESTDIR.patch
+# from debian apache_1.3.34-2.diff.gz
+Patch26: %{name}-regex_must_conform_to_posix_for_LFS_to_work.patch
+Patch27: %{name}-suexec_of_death.patch
+Patch28: %{name}-suexec_reopenlog.patch
+Patch29: %{name}-autoindex_studly.patch
+Patch30: %{name}-autoindex_indexes.patch
+Patch31: %{name}-autoindex_generator.patch
+Patch32: %{name}-ab.8_formatting_error.patch
+Patch33: %{name}-proxy_content_base.patch
+Patch34: %{name}-inetdfix.patch
+Patch35: %{name}-configure_hashbang.patch
+Patch36: %{name}-log_files_permission.patch
+Patch37: %{name}-htpasswd_do_not_trash_extra_fields.patch
+Patch38: %{name}-GNU_xargs.patch
+Patch39: %{name}-security_htdigest_local_buffer_overflow.patch
+Patch40: %{name}-security_htpasswd_user_buffer_overflow.patch
+Patch41: %{name}-security_check_forensic_tempfiles.patch
URL: http://httpd.apache.org/
BuildRequires: db-devel >= 4.1
BuildRequires: mm-devel >= 1.3.0
%{?with_rewrite_ldap:BuildRequires: openldap-devel}
-BuildRequires: rpmbuild(macros) >= 1.247
+BuildRequires: perl-base
BuildRequires: rpm-build >= 4.4.0
BuildRequires: rpm-perlprov
-BuildRequires: perl-base
-Requires: mm
-Requires: rc-scripts
+BuildRequires: rpmbuild(macros) >= 1.268
+Requires: rc-scripts
%if %{without minimal}
# essental modules (maybe remove these in future if all Requires in
# place for other packages).
Requires: %{name}-mod_log_config = %{version}-%{release}
Requires: %{name}-mod_mime = %{version}-%{release}
%endif
+Requires(post,preun): /sbin/chkconfig
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
Requires(pre): /bin/id
Requires(pre): /usr/bin/getent
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/useradd
Requires(pre): /usr/sbin/usermod
Requires(pre): textutils
-Requires(post,preun): /sbin/chkconfig
-Requires(postun): /usr/sbin/groupdel
-Requires(postun): /usr/sbin/userdel
Requires(triggerpostun): sed >= 4.0
Requires: /etc/mime.types
Requires: mailcap
Requires: psmisc >= 20.1
Provides: %{name}(EAPI) = %{version}-%{release}
+%{?with_ipv6:Provides: apache1(ipv6)}
+%{?with_lingerd:Provides: apache1(lingerd)}
Provides: group(http)
-Provides: httpd = %{version}
Provides: user(http)
Provides: webserver = apache
-Provides: apache = %{version}-%{release}
-%{?with_ipv6:Provides: apache1(ipv6)}
-%{?with_lingerd:Provides: apache1(lingerd)}
Obsoletes: apache < 2.0.0
Obsoletes: apache-extra
Obsoletes: apache6
Group: Networking/Daemons
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_access) = %{version}-%{release}
+Provides: webserver(access)
%description mod_access
The directives provided by mod_access are used in <Directory>,
Group: Networking/Daemons
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_alias) = %{version}-%{release}
+Provides: webserver(alias)
%description mod_alias
This module provides for mapping different parts of the host
Requires: %{name}(EAPI) = %{version}-%{release}
Requires: htpasswd
Provides: apache(mod_auth) = %{version}-%{release}
+Provides: webserver(auth)
Obsoletes: apache-mod_auth < 2.0.0
%description mod_auth
Summary(pl): Modu³ Apache'a do uwierzytelniania metod± MD5 Digest Authentication
Group: Networking/Daemons
Requires: %{name}(EAPI) = %{version}-%{release}
-Obsoletes: %{name}-mod_digest
Provides: apache(mod_auth_digest) = %{version}-%{release}
Obsoletes: apache-mod_auth_digest < 2.0.0
+Obsoletes: apache1-mod_digest
%description mod_auth_digest
This package contains mod_digest module. It provides user
Summary(pl): Modu³ apache do wy¶wietlania indeksu plików
Group: Networking/Daemons
Requires(triggerpostun): sed >= 4.0
-Provides: apache(mod_autoindex) = %{version}-%{release}
Requires: %{name}(EAPI) = %{version}-%{release}
+Provides: apache(mod_autoindex) = %{version}-%{release}
%description mod_autoindex
This package contains mod_autoindex module. It provides generation
Group: Networking/Daemons
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_cgi) = %{version}-%{release}
+Provides: webserver(cgi)
%description mod_cgi
Any file that has the MIME type application/x-httpd-cgi or handler
Group: Networking/Daemons
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_dir) = %{version}-%{release}
+Provides: webserver(indexfile)
Obsoletes: apache-mod_dir < 2.0.0
%description mod_dir
This package contains module with implementation a proxy/cache for
Apache. It implements proxying capability for FTP, CONNECT (for SSL),
HTTP/0.9, and HTTP/1.0. The module can be configured to connect to
-other proxy modules for these and other protocols.
+other proxy modules for these and other protocols. Contains patch
+from: <http://allafrica.com/tools/apache/mod_proxy/>
%description mod_proxy -l pl
Modu³ zawiera implementacjê serwera proxy/cache dla Apache.
Iplementacja zawiera obs³ugê FTP, CONNECT (dla SSL), HTTP/0.9 i
HTTP/1.0. Ten modu³ mo¿e byæ skonfigurowany tak, aby ³±czy³ siê z
-innymi modu³ami proxy dla tych i innych protoko³ów.
+innymi modu³ami proxy dla tych i innych protoko³ów. Zawiera ³atê z
+<http://allafrica.com/tools/apache/mod_proxy/>.
%package mod_rewrite
Summary: Apache module with rule-based engine for rewrite requested URLs on the fly
%patch5 -p0
%patch6 -p1
%patch7 -p1
-%{?with_ipv6:%patch8 -p1}
-%patch9 -p1
+%patch8 -p1
+%{?with_ipv6:%patch9 -p1}
%patch10 -p1
%patch11 -p1
-%{?with_rewrite_ldap:%patch12 -p1}
-%patch13 -p1
+%patch12 -p1
+%{?with_rewrite_ldap:%patch13 -p1}
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
-%{!?with_ipv6:%patch18 -p1}
-%patch19 -p1
+%patch18 -p1
+%{!?with_ipv6:%patch19 -p1}
%patch20 -p1
%patch21 -p1
%patch22 -p1
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
+
+%patch26 -p2
+%patch27 -p2
+%patch28 -p2
+%patch29 -p2
+%patch30 -p2
+%patch31 -p2
+%patch32 -p2
+%patch33 -p2
+%patch34 -p2
+%patch35 -p2
+%patch36 -p2
+%patch37 -p2
+%patch38 -p2
+%patch39 -p2
+%patch40 -p2
+%patch41 -p2
%if %{with lingerd}
mv lingerd-* _lingerd
LIBS_SHLIB="-ldb %{?with_rewrite_ldap:-lldap -llber}"
%if %{with lingerd}
-make -C _lingerd lingerd \
+%{__make} -C _lingerd lingerd \
CC="%{__cc}" \
CFLAGS="%{rpmcflags}"
LDFLAGS="%{rpmldflags}"
install %{SOURCE24} $CFG/80_errordocs.conf
install %{SOURCE17} $CFG/80_mod_alias.conf
-install %{SOURCE6} $RPM_BUILD_ROOT/etc/monit
+install %{SOURCE6} $RPM_BUILD_ROOT/etc/monit/apache.monitrc
ln -sf index.html.en $RPM_BUILD_ROOT%{_datadir}/html/index.html
mv $RPM_BUILD_ROOT%{_sysconfdir}/modules/* $RPM_BUILD_ROOT%{_libexecdir}
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/modules
-ln -s %{_libexecdir} $RPM_BUILD_ROOT%{_sysconfdir}/modules
-ln -s /var/log/apache $RPM_BUILD_ROOT%{_sysconfdir}/logs
+ln -s ../..%{_libexecdir} $RPM_BUILD_ROOT%{_sysconfdir}/modules
+ln -s ../../var/log/apache $RPM_BUILD_ROOT%{_sysconfdir}/logs
ln -sf %{_bindir}/htpasswd $RPM_BUILD_ROOT%{_sbindir}
rm -f $RPM_BUILD_ROOT%{_mandir}/README*
# Not for our os or for older apache
-rm $RPM_BUILD_ROOT/usr/share/apache1-manual/{cygwin,ebcdic,install-{z,}tpf,man-template}.html
-rm $RPM_BUILD_ROOT/usr/share/apache1-manual/mod/mod_{auth_dbm,browser,dld,example,isapi,log_common}.html
-rm $RPM_BUILD_ROOT/usr/share/apache1-manual/{mpeix,netware,new_features_1_[0-2],readme-tpf,suexec_1_2,unixware,vhosts/details_1_2}.html
-rm $RPM_BUILD_ROOT/usr/share/apache1-manual/{win_{compiling,service}.html*,windows.html*}
+rm $RPM_BUILD_ROOT%{_prefix}/share/apache1-manual/{cygwin,ebcdic,install-{z,}tpf,man-template}.html
+rm $RPM_BUILD_ROOT%{_prefix}/share/apache1-manual/mod/mod_{auth_dbm,browser,dld,example,isapi,log_common}.html
+rm $RPM_BUILD_ROOT%{_prefix}/share/apache1-manual/{mpeix,netware,new_features_1_[0-2],readme-tpf,suexec_1_2,unixware,vhosts/details_1_2}.html
+rm $RPM_BUILD_ROOT%{_prefix}/share/apache1-manual/{win_{compiling,service}.html*,windows.html*}
%if %{with lingerd}
install _lingerd/lingerd $RPM_BUILD_ROOT%{_libexecdir}
%preun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/apache ]; then
- /etc/rc.d/init.d/apache stop 1>&2
- fi
+ %service apache stop
/sbin/chkconfig --del apache
fi
mv -f /etc/sysconfig/apache{1.rpmsave,}
fi
-%triggerpostun -- %{name} < 1.3.34-3.3
+%triggerpostun -- %{name} < 1.3.34-5.9
+if ! grep -q 'Include webapps.d/' /etc/apache/apache.conf; then
# make sure webapps.d is included
cp -f /etc/apache/apache.conf{,.rpmsave}
sed -i -e '
aInclude webapps.d/*.conf
}
' /etc/apache/apache.conf
+fi
+
+# rename monitrc to be service name like other files
+if [ -f /etc/monit/apache1.monitrc.rpmsave ]; then
+ mv -f /etc/monit/apache.monitrc{,.rpmnew}
+ mv -f /etc/monit/{apache1.monitrc.rpmsave,apache.monitrc}
+fi
%triggerpostun mod_auth_db -- apache-mod_auth_db <= 1.3.20-2
sed -i -e '/^\(Add\|Load\)Module.*mod_auth_dbm\.\(so\|c\)/d' /etc/apache/apache.conf
# restart webserver at the end of transaction
%service apache restart "Apache HTTP daemon"
-exit 0
# macro called at module post scriptlet
%define module_post \
if [ "$1" = "1" ]; then \
- %service -q apache restart "Apache HTTP daemon" \
+ %service -q apache restart \
fi
# macro called at module postun scriptlet
%define module_postun \
if [ "$1" = "0" ]; then \
- %service -q apache restart "Apache HTTP daemon" \
+ %service -q apache restart \
fi
%post errordocs
if [ "$1" = "1" ]; then
- %service -q apache reload "Apache HTTP daemon"
+ %service -q apache reload
fi
%postun errordocs
if [ "$1" = "0" ]; then
- %service -q apache reload "Apache HTTP daemon"
+ %service -q apache reload
fi
%post mod_access
%doc ABOUT_APACHE src/CHANGES README
%doc conf/mime.types conf/apache.conf.dist
%{?with_lingerd:%doc lingerd}
-
%attr(754,root,root) /etc/rc.d/init.d/apache
-
%attr(750,root,root) %dir %{_sysconfdir}
%{_sysconfdir}/modules
%{_sysconfdir}/logs
%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) /etc/sysconfig/apache
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/*
-%attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/monit/*.monitrc
-
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/monit/*.monitrc
%dir %{_libexecdir}
-
%if %{with lingerd}
%attr(755,root,root) %{_libexecdir}/lingerd
%attr(770,root,http) %dir %{_localstatedir}/run/lingerd
%endif
-
%attr(755,root,root) %{_bindir}/checkgid
-%attr(755,root,root) %{_bindir}/htdigest
-
%attr(755,root,root) %{_sbindir}/apache
-
%dir %attr(1773,root,http) /var/run/apache
-
%{_mandir}/man8/apache.8*
-
%attr(2750,root,logs) %dir /var/log/apache
%attr(2750,root,logs) %dir /var/log/archiv/apache
%attr(640,root,logs) %ghost /var/log/apache/*
-
%dir %{_datadir}
%attr(755,root,root) %dir %{_datadir}/html
-
%dir %{_datadir}/icons
%{_datadir}/icons/*.gif
%{_datadir}/icons/*.png
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/ab
%attr(755,root,root) %{_sbindir}/apachectl
+%attr(755,root,root) %{_bindir}/htdigest
%attr(755,root,root) %{_sbindir}/logresolve
%attr(755,root,root) %{_sbindir}/rotatelogs
%{_mandir}/man1/htdigest.1*