]> git.pld-linux.org Git - packages/php-pecl-xhprof.git/blob - php-pecl-xhprof.spec
84250c4db8e7b44066d7400dbc7ba9bf92ab565c
[packages/php-pecl-xhprof.git] / php-pecl-xhprof.spec
1 %define         php_name        php%{?php_suffix}
2 %define         modname         xhprof
3 Summary:        PHP extension for XHProf, a Hierarchical Profiler
4 Name:           %{php_name}-pecl-xhprof
5 Version:        0.9.4
6 Release:        2
7 License:        Apache v2.0
8 Group:          Development/Languages/PHP
9 Source0:        http://pecl.php.net/get/%{modname}-%{version}.tgz
10 # Source0-md5:  ab4062a7337e3bdaa2fd7065a7942b8d
11 Source1:        %{modname}.ini
12 Source2:        apache.conf
13 URL:            http://pecl.php.net/package/xhprof
14 BuildRequires:  %{php_name}-devel >= 4:5.2.0
15 BuildRequires:  rpmbuild(macros) >= 1.666
16 %{?requires_php_extension}
17 Provides:       php(xhprof) = %{version}
18 # https://bugs.php.net/61262
19 ExclusiveArch:  %{ix86} %{x8664}
20 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
21
22 %define         _webapps        /etc/webapps
23 %define         _webapp         %{modname}
24 %define         _sysconfdir     %{_webapps}/%{_webapp}
25 %define         _appdir         %{_datadir}/%{_webapp}
26
27 %description
28 XHProf is a function-level hierarchical profiler for PHP.
29
30 This package provides the raw data collection component, implemented
31 in C (as a PHP extension).
32
33 The HTML based navigational interface is provided in the "xhprof"
34 package.
35
36 %package -n xhprof
37 Summary:        A Hierarchical Profiler for PHP - Web interface
38 Group:          Development/Tools
39 Requires:       %{_bindir}/dot
40 Requires:       %{name} = %{version}-%{release}
41 Requires:       php(core) >= 5.2.0
42 %if "%{_rpmversion}" >= "5"
43 BuildArch:      noarch
44 %endif
45
46 %description -n xhprof
47 XHProf is a function-level hierarchical profiler for PHP and has a
48 simple HTML based navigational interface.
49
50 The raw data collection component, implemented in C (as a PHP
51 extension, provided by the "php-pecl-xhprof" package).
52
53 The reporting/UI layer is all in PHP. It is capable of reporting
54 function-level inclusive and exclusive wall times, memory usage, CPU
55 times and number of calls for each function.
56
57 Additionally, it supports ability to compare two runs (hierarchical
58 DIFF reports), or aggregate results from multiple runs.
59
60 Documentation: %{_docdir}/%{name}-%{version}/docs/index.html
61
62 %prep
63 %setup -qc
64 mv %{modname}-%{version}/* .
65
66 # not to be installed
67 mv xhprof_html/docs docs
68
69 %build
70 cd extension
71 phpize
72 %configure
73 %{__make}
74 cd -
75
76 %if %{with tests}
77 # simple module load test
78 %{__php} -n -q \
79         -d extension_dir=extension/modules \
80         -d extension=%{modname}.so \
81         -m > modules.log
82 grep %{modname} modules.log
83 %endif
84
85 %install
86 rm -rf $RPM_BUILD_ROOT
87 %{__make} install -C extension \
88         INSTALL_ROOT=$RPM_BUILD_ROOT
89
90 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
91 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
92
93 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
94 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
95
96 # Install the web interface
97 install -d $RPM_BUILD_ROOT%{_sysconfdir}
98 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
99
100 install -d $RPM_BUILD_ROOT%{_datadir}/xhprof
101 cp -a xhprof_html $RPM_BUILD_ROOT%{_datadir}/xhprof/xhprof_html
102 cp -a xhprof_lib  $RPM_BUILD_ROOT%{_datadir}/xhprof/xhprof_lib
103
104 %clean
105 rm -rf $RPM_BUILD_ROOT
106
107 %post
108 %php_webserver_restart
109
110 %postun
111 if [ "$1" = 0 ]; then
112         %php_webserver_restart
113 fi
114
115 %triggerin -n xhprof -- apache-base
116 %webapp_register httpd %{_webapp}
117
118 %triggerun -n xhprof -- apache-base
119 %webapp_unregister httpd %{_webapp}
120
121 %files
122 %defattr(644,root,root,755)
123 %doc CHANGELOG CREDITS README LICENSE
124 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
125 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
126 %{_examplesdir}/%{name}-%{version}
127
128 %files -n xhprof
129 %defattr(644,root,root,755)
130 %doc docs/*
131 %dir %attr(750,root,http) %{_sysconfdir}
132 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
133 %{_datadir}/xhprof
This page took 0.060028 seconds and 2 git commands to generate.