]> git.pld-linux.org Git - packages/apache.git/blobdiff - apache.spec
- more verbose files in system-wide dirs
[packages/apache.git] / apache.spec
index 2647a9899f284e54b29a65342572a084baa4a566..61437dcf2ff2d4662f3ae8fb6ad4714c31f14eac 100644 (file)
 # 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
@@ -41,12 +43,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.19
+Version:       2.2.22
 Release:       2
 License:       Apache v2.0
 Group:         Networking/Daemons/HTTP
 Source0:       http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz
-# Source0-md5: e9f5453e1e4d7aeb0e7ec7184c6784b5
+# Source0-md5: d77fa5af23df96a8af68ea8114fa6ce1
 Source1:       %{name}.init
 Source2:       %{name}.logrotate
 Source3:       %{name}.sysconfig
@@ -76,6 +78,8 @@ Source26:     %{name}-mod_log_config.conf
 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
@@ -102,14 +106,11 @@ Patch26:  apache-mod_vhost_alias_docroot.patch
 Patch28:       apache-mpm-itk.patch
 Patch29:       libtool-tag.patch
 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}}
@@ -119,7 +120,7 @@ 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
+BuildRequires: rpmbuild(macros) >= 1.639
 BuildRequires: sed >= 4.0
 BuildRequires: zlib-devel
 Requires:      %{name}-errordocs = %{version}-%{release}
@@ -143,6 +144,19 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _libexecdir     %{_libdir}/apache
 %define                _cgibindir      %{_prefix}/lib/cgi-bin/%{name}
 
+%define                httpd_restart \
+       if /bin/systemd_booted; then \
+               /bin/systemctl restart httpd.service \
+       else \
+               %service -q httpd restart \
+       fi
+%define                httpd_reload \
+       if /bin/systemd_booted; then \
+               /bin/systemctl reload httpd.service \
+       else \
+               %service -q httpd reload \
+       fi
+
 %description
 Apache is a powerful, full-featured, efficient and freely-available
 Web server. Apache is also the most popular Web server on the
@@ -197,9 +211,11 @@ Requires(pre):     /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
 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
 Provides:      apache(modules-api) = %{_apache_modules_api}
 Provides:      group(http)
 Provides:      user(http)
@@ -1794,7 +1810,7 @@ Dwa programy testowe/przykładowe cgi: test-cgi and print-env.
 %patch29 -p1
 
 # 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`
@@ -1919,21 +1935,29 @@ done
 
 %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
@@ -1979,6 +2003,8 @@ 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
 
+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
@@ -2030,7 +2056,7 @@ echo "LoadModule substitute_module        modules/mod_substitute.so" > $CFG/00_mod_subs
 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
@@ -2059,11 +2085,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
@@ -2097,18 +2123,21 @@ exit 0
 /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
@@ -2196,6 +2225,13 @@ Please report bugs to <http://bugs.pld-linux.org/>.
 
 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 '
@@ -2217,18 +2253,18 @@ mv -f /var/lock/subsys/httpd{.disabled,} 2>/dev/null
 # main package are very important for all this to work.
 
 # restart webserver at the end of transaction
-%service httpd restart
+%httpd_restart
 
 # macro called at module post scriptlet
 %define        module_post \
 if [ "$1" = "1" ]; then \
-       %service -q httpd restart \
+       %httpd_restart \
 fi
 
 # macro called at module postun scriptlet
 %define        module_postun \
 if [ "$1" = "0" ]; then \
-       %service -q httpd restart \
+       %httpd_restart \
 fi
 
 # it's sooo annoying to write them
@@ -2307,22 +2343,22 @@ fi
 
 %post cgi_test
 if [ "$1" = "1" ]; then
-       %service -q httpd reload
+       %httpd_reload
 fi
 
 %postun cgi_test
 if [ "$1" = "0" ]; then
-       %service -q httpd reload
+       %httpd_reload
 fi
 
 %post errordocs
 if [ "$1" = "1" ]; then
-       %service -q httpd reload
+       %httpd_reload
 fi
 
 %postun errordocs
 if [ "$1" = "0" ]; then
-       %service -q httpd reload
+       %httpd_reload
 fi
 
 %files
@@ -2344,10 +2380,10 @@ fi
 %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) %verify(not md5 mtime size) %{_sysconfdir}/vhosts.d/example.net.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/*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/httpd
 
 %dir %{_libexecdir}
 
@@ -2358,6 +2394,10 @@ fi
 %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
@@ -2400,10 +2440,10 @@ fi
 %attr(755,root,root) %{_sbindir}/htdigest
 %attr(755,root,root) %{_sbindir}/logresolve
 %attr(755,root,root) %{_sbindir}/rotatelogs
-%{_mandir}/man8/ab.8*
+%{_mandir}/man1/ab.1*
 %{_mandir}/man8/apachectl.8*
 %{_mandir}/man1/htdigest.1*
-%{_mandir}/man8/logresolve.8*
+%{_mandir}/man1/logresolve.1*
 %{_mandir}/man8/rotatelogs.8*
 
 %files devel
@@ -2416,7 +2456,7 @@ fi
 %{_libexecdir}/build/config_vars.mk
 %attr(755,root,root) %{_libexecdir}/build/*.sh
 %{_includedir}
-%{_mandir}/man8/apxs.8*
+%{_mandir}/man1/apxs.1*
 
 %files mod_actions
 %defattr(644,root,root,755)
@@ -2701,6 +2741,7 @@ fi
 %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)
This page took 0.075188 seconds and 4 git commands to generate.