# 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
+%if "%{pld_release}" == "ac"
%define openssl_ver 0.9.7d
+%define apr_ver 1:1.2
+%else
+%define openssl_ver 0.9.8i
+%define apr_ver 1:1.4.5
%endif
%include /usr/lib/rpm/macros.perl
Summary: The most widely used Web server on the Internet
Summary(ru.UTF-8): Самый популярный веб-сервер
Summary(tr.UTF-8): Lider WWW tarayıcı
Name: apache
-Version: 2.2.19
-Release: 4
+Version: 2.2.23
+Release: 1
License: Apache v2.0
Group: Networking/Daemons/HTTP
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz
-# Source0-md5: e9f5453e1e4d7aeb0e7ec7184c6784b5
+# Source0-md5: 77246eaa84a54bb7451f68216333750d
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: %{name}.sysconfig
Source27: %{name}-mod_mime_magic.conf
Source28: %{name}-mod_cache.conf
Source29: %{name}-example.net.conf
+Source30: %{name}.tmpfiles
+Source31: %{name}.service
Patch0: %{name}-configdir_skip_backups.patch
Patch1: %{name}-layout.patch
Patch2: %{name}-suexec.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.4.5
+BuildRequires: apr-devel >= %{apr_ver}
BuildRequires: apr-util-devel >= 1:1.3.10-2
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.13
BuildRequires: automake
-BuildRequires: db-devel
%{?with_distcache:BuildRequires: distcache-devel}
-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 >= %{openssl_ver}}
BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpm-build >= 4.4.0
BuildRequires: rpm-perlprov >= 4.1-13
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpmbuild(macros) >= 1.647
BuildRequires: sed >= 4.0
BuildRequires: zlib-devel
Requires: %{name}-errordocs = %{version}-%{release}
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
+Requires(post,preun,postun): systemd-units >= 38
Requires: /sbin/chkconfig
-Requires: apr >= 1:1.4.5
+Requires: apr >= %{apr_ver}
Requires: psmisc >= 20.1
Requires: rc-scripts >= 0.4.1.23
+Requires: sed >= 4.0
+Requires: systemd-units >= 38
Provides: apache(modules-api) = %{_apache_modules_api}
Provides: group(http)
Provides: user(http)
%patch26 -p1
%patch28 -p1
%patch29 -p1
-%patch30 -p0
# using system apr, apr-util and pcre
%{__rm} -r srclib/{apr,apr-util,pcre}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \
+install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,systemd/system} \
$RPM_BUILD_ROOT%{_var}/{log/{httpd,archive/httpd},{run,cache}/httpd,lock/mod_dav} \
$RPM_BUILD_ROOT%{_sysconfdir}/{webapps.d,conf.d,vhosts.d} \
- $RPM_BUILD_ROOT%{_datadir}/{cgi-bin,vhosts}
+ $RPM_BUILD_ROOT%{_datadir}/{cgi-bin,vhosts} \
+ $RPM_BUILD_ROOT/usr/lib/tmpfiles.d \
+ $RPM_BUILD_ROOT%{systemdunitdir}
# prefork is default one
%{__make} -C buildmpm-prefork install \
DESTDIR=$RPM_BUILD_ROOT
+mpm=prefork
+sed -e "s|@EXEC@|%{_sbindir}/httpd.${mpm}|g;s|@NAME@|${mpm}|g" < %{SOURCE31} \
+ > $RPM_BUILD_ROOT%{systemdunitdir}/httpd-${mpm}.service
# install other mpm-s
for mpm in worker %{?with_event:event} %{?with_itk:itk}; do
install buildmpm-${mpm}/httpd.${mpm} $RPM_BUILD_ROOT%{_sbindir}/httpd.${mpm}
+ sed -e "s|@EXEC@|%{_sbindir}/httpd.${mpm}|g;s|@NAME@|${mpm}|g" < %{SOURCE31} \
+ > $RPM_BUILD_ROOT%{systemdunitdir}/httpd-${mpm}.service
done
ln -s httpd.prefork $RPM_BUILD_ROOT%{_sbindir}/httpd
+ln -s %{systemdunitdir}/httpd-prefork.service $RPM_BUILD_ROOT/etc/systemd/system/httpd.service
ln -s %{_libexecdir} $RPM_BUILD_ROOT%{_sysconfdir}/modules
ln -s %{_localstatedir}/run/httpd $RPM_BUILD_ROOT%{_sysconfdir}/run
ln -s %{_var}/log/httpd $RPM_BUILD_ROOT%{_sysconfdir}/logs
cp -a %{SOURCE22} $CFG/20_languages.conf
cp -a %{SOURCE29} $RPM_BUILD_ROOT%{_sysconfdir}/vhosts.d/example.net.conf
+install %{SOURCE30} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.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 authn_dbm_module modules/mod_authn_dbm.so" > $CFG/00_mod_authn_dbm.conf
/sbin/chkconfig --add httpd
umask 137
touch /var/log/httpd/{access,error,agent,referer}_log
+%systemd_post httpd.service
%preun base
if [ "$1" = "0" ]; then
%service httpd stop
/sbin/chkconfig --del httpd
fi
+%systemd_preun httpd.service
%postun base
if [ "$1" = "0" ]; then
%userremove http
%groupremove http
fi
+%systemd_reload
%triggerpostun base -- %{name} < 2.0.50-6.9
%banner %{name}-2.0.50-6 << EOF
EOF
+%triggerpostun base -- %{name} < 2.2.22-2
+. /etc/sysconfig/httpd
+if [ -z "$HTTPD_CONF" ]; then
+ echo 'HTTPD_CONF="/etc/httpd/apache.conf"' >> /etc/sysconfig/httpd
+fi
+%systemd_trigger httpd.service
+
%triggerpostun mod_ssl -- %{name}-mod_ssl < 1:2.2.0-3.1
cp -f /etc/httpd/conf.d/40_mod_ssl.conf{,.rpmsave}
sed -i -e '
# restart webserver at the end of transaction
%service httpd restart
+%systemd_service_restart httpd.service
# macro called at module post scriptlet
%define module_post \
if [ "$1" = "1" ]; then \
%service -q httpd restart \
+ %systemd_service_restart httpd.service \
fi
# macro called at module postun scriptlet
%define module_postun \
if [ "$1" = "0" ]; then \
%service -q httpd restart \
+ %systemd_service_restart httpd.service \
fi
# it's sooo annoying to write them
%post cgi_test
if [ "$1" = "1" ]; then
%service -q httpd reload
+ %systemd_service_reload httpd.service
fi
%postun cgi_test
if [ "$1" = "0" ]; then
%service -q httpd reload
+ %systemd_service_reload httpd.service
fi
%post errordocs
if [ "$1" = "1" ]; then
%service -q httpd reload
+ %systemd_service_reload httpd.service
fi
%postun errordocs
if [ "$1" = "0" ]; then
%service -q httpd reload
+ %systemd_service_reload httpd.service
fi
%files
%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/*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/httpd
%dir %{_libexecdir}
%dir %attr(770,root,http) /var/run/httpd
%dir %attr(770,root,http) /var/cache/httpd
+/usr/lib/tmpfiles.d/%{name}.conf
+%{systemdunitdir}/httpd-*.service
+%config(noreplace) %verify(not md5 mtime size) /etc/systemd/system/httpd.service
+
%{_mandir}/man8/httpd.8*
%attr(2751,root,logs) %dir /var/log/httpd
%attr(755,root,root) %{_sbindir}/httxt2dbm
%attr(755,root,root) %{_libexecdir}/mod_rewrite.so
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_rewrite.conf
+%{_mandir}/man1/httxt2dbm.1*
%files mod_setenvif
%defattr(644,root,root,755)