1 %define mod_name backtrace
2 %define apxs /usr/sbin/apxs
3 Summary: Apache module: collects backtraces on crashes
4 Name: apache-mod_%{mod_name}
8 Group: Networking/Daemons
9 Source0: http://people.apache.org/~trawick/mod_backtrace.c
10 # Source0-md5: cd5361da31b3c1401e29ccb6e5220f6b
11 BuildRequires: %{apxs}
12 BuildRequires: apache-devel >= 2.0
13 BuildRequires: rpmbuild(macros) >= 1.268
14 Requires: apache(modules-api) = %apache_modules_api
15 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
17 %define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
18 %define _sysconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)
19 %define _pkglogdir %(%{apxs} -q PREFIX 2>/dev/null)/logs
22 mod_backtrace is an experimental module for Apache httpd 2.x which
23 collects backtraces when a child process crashes.
30 %{apxs} -c mod_%{mod_name}.c -o mod_%{mod_name}.la
33 rm -rf $RPM_BUILD_ROOT
34 install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir}/httpd.conf,/var/log/httpd}
35 install .libs/mod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}
37 touch $RPM_BUILD_ROOT/var/log/httpd/backtrace_log
39 cat > $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf/90_mod_%{mod_name}.conf << 'EOF'
40 LoadModule %{mod_name}_module modules/mod_%{mod_name}.so
41 EnableExceptionHook On
42 BacktraceLog /var/log/httpd/backtrace_log
46 rm -rf $RPM_BUILD_ROOT
49 %service -q httpd restart
50 touch /var/log/httpd/backtrace_log && chown root:http /var/log/httpd/backtrace_log && chmod 620 /var/log/httpd/backtrace_log
53 if [ "$1" = "0" ]; then
54 %service -q httpd restart
58 %defattr(644,root,root,755)
59 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf/*_mod_%{mod_name}.conf
60 %attr(755,root,root) %{_pkglibdir}/*.so
62 %attr(620,root,http) %ghost /var/log/httpd/backtrace_log