summaryrefslogtreecommitdiff
path: root/php-pecl-xdebug.spec
blob: 171ca66158dedc52cd0693b915731a2119719d33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
%define		modname	xdebug
%define		status	stable
Summary:	%{modname} - provides functions for functions traces and profiling
Summary(pl.UTF-8):	%{modname} - funkcje do śledzenia i profilowania funkcji
Name:		php-pecl-%{modname}
Version:	2.1.3
Release:	1
License:	BSD style
Group:		Development/Languages/PHP
Source0:	http://www.xdebug.org/files/xdebug-%{version}.tgz
# Source0-md5:	601128a91dea4f315330ce3f7ddcc3d8
Source1:	%{name}.ini
URL:		http://www.xdebug.org/
BuildRequires:	libedit-devel
BuildRequires:	libtool
BuildRequires:	php-devel >= 4:5.2.17-8
BuildRequires:	rpmbuild(macros) >= 1.579
%{?requires_zend_extension}
Conflicts:	ZendOptimizer
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
The Xdebug extension helps you debugging your script by providing a
lot of valuable debug information. The debug information that Xdebug
can provide includes the following:

- stack and function traces in error messages with:
 - full parameter display for user defined functions
 - function name, file name and line indications
 - support for member functions memory allocation
- protection for infinite recursions

Xdebug also provides:

- profiling information for PHP scripts
- script execution analysis
- capabilities to debug your scripts interactively with a debug client

In PECL status of this package is: %{status}.

%description -l pl.UTF-8
Rozszerzenie Xdebug pomaga przy odpluskwianiu skryptu dostarczając
dużo wartościowych informacji. Informacje przydatne do śledzenia,
które może zapewnić Xdebug, obejmują:

- śledzenie stosu i funkcji w komunikatach błędów wraz z:
 - pełnym wyświetlaniem parametrów dla funkcji zdefiniowanych przez
   użytkownika
 - nazwami funkcji, nazwami plików i numerami linii
 - obsługą metod klas
- przydzielanie pamięci
- zabezpieczenie przed nieskończoną rekurencją

Xdebug dostarcza także:

- informacje do profilowania skryptów PHP
- analizę wywołań skryptu
- możliwość śledzenia skryptów interaktywnie przy pomocy klienta
  odpluskwiacza

To rozszerzenie ma w PECL status: %{status}.

%prep
%setup -qc
mv %{modname}-%{version}*/* .
chmod +x debugclient/configure

%{__sed} -e 's#^;zend_extension.*#zend_extension=%{php_extensiondir}/%{modname}.so#' %{SOURCE1} > %{modname}.ini

%build
# libtool 2.2 build fix
if [ -f %{_aclocaldir}/ltsugar.m4 ]; then
	cat %{_aclocaldir}/ltsugar.m4 >> config.m4
	cat %{_aclocaldir}/ltsugar.m4 >> debugclient/aclocal.m4

	cat %{_aclocaldir}/ltversion.m4 >> config.m4
	cat %{_aclocaldir}/ltversion.m4 >> debugclient/aclocal.m4

	cat %{_aclocaldir}/lt~obsolete.m4 >> config.m4
	cat %{_aclocaldir}/lt~obsolete.m4 >> debugclient/aclocal.m4

	cat %{_aclocaldir}/ltoptions.m4 >> config.m4
	cat %{_aclocaldir}/ltoptions.m4 >> debugclient/aclocal.m4

	cat %{_aclocaldir}/libtool.m4 >> debugclient/aclocal.m4
fi

phpize
%configure
%{__make}
cd debugclient
install /usr/share/automake/{config.*,depcomp} .
%{__libtoolize}
%{__aclocal}
%{__autoconf}
%configure \
	--with-libedit
%{__make}

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{php_sysconfdir}/conf.d,%{php_extensiondir}}

install -p debugclient/debugclient $RPM_BUILD_ROOT%{_bindir}/%{modname}-debugclient
install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
cp -a %{modname}.ini $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d

%clean
rm -rf $RPM_BUILD_ROOT

%post
%php_webserver_restart

%postun
if [ "$1" = 0 ]; then
	%php_webserver_restart
fi

%files
%defattr(644,root,root,755)
%doc README NEWS Changelog CREDITS contrib/xt.vim
%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
%attr(755,root,root) %{php_extensiondir}/%{modname}.so
%attr(755,root,root) %{_bindir}/xdebug-debugclient