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