diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1da215b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/xdebug-2.2.7.tgz diff --git a/.rh-php56-php-pecl-xdebug.metadata b/.rh-php56-php-pecl-xdebug.metadata new file mode 100644 index 0000000..2ce86b5 --- /dev/null +++ b/.rh-php56-php-pecl-xdebug.metadata @@ -0,0 +1 @@ +587d300b8df0d1213910c59dda0c4f5807233744 SOURCES/xdebug-2.2.7.tgz diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SPECS/php-pecl-xdebug.spec b/SPECS/php-pecl-xdebug.spec new file mode 100644 index 0000000..a891328 --- /dev/null +++ b/SPECS/php-pecl-xdebug.spec @@ -0,0 +1,429 @@ +# spec file for php-pecl-xdebug +# +# Copyright (c) 2010-2015 Remi Collet +# Copyright (c) 2006-2009 Christopher Stone +# +# License: MIT +# http://opensource.org/licenses/MIT +# +# Please, preserve the changelog entries +# + +%{?scl: %scl_package php-pecl-xdebug} +%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} +%{!?__pecl: %global __pecl %{_bindir}/pecl} +%{!?__php: %global __php %{_bindir}/php} + +%global pecl_name xdebug +%global with_zts 0%{?__ztsphp:1} + +# XDebug should be loaded after opcache +%if "%{php_version}" < "5.6" +%global ini_name %{pecl_name}.ini +%else +%global ini_name 15-%{pecl_name}.ini +%endif + +Name: %{?scl_prefix}php-pecl-xdebug +Summary: PECL package for debugging PHP scripts +Version: 2.2.7 +Release: 3%{?dist} +Source0: http://pecl.php.net/get/%{pecl_name}-%{version}%{?prever}.tgz + +# The Xdebug License, version 1.01 +# (Based on "The PHP License", version 3.0) +License: PHP +Group: Development/Languages +URL: http://xdebug.org/ + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: %{?scl_prefix}php-pear +BuildRequires: %{?scl_prefix}php-devel +BuildRequires: libedit-devel +BuildRequires: libtool + +Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} +Requires: %{?scl_prefix}php(api) = %{php_core_api} + +Provides: %{?scl_prefix}php-%{pecl_name} = %{version} +Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} +Provides: %{?scl_prefix}php-pecl(Xdebug) = %{version} +Provides: %{?scl_prefix}php-pecl(Xdebug)%{?_isa} = %{version} + +%if 0%{?fedora} < 20 && 0%{?rhel} < 7 +# Filter private shared +%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} +%{?filter_setup} +%endif + + +%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: + o full parameter display for user defined functions + o function name, file name and line indications + o support for member functions +* memory allocation +* protection for infinite recursions + +Xdebug also provides: + +* profiling information for PHP scripts +* code coverage analysis +* capabilities to debug your scripts interactively with a debug client + + +%prep +%setup -qc +mv %{pecl_name}-%{version}%{?prever} NTS + +cd NTS + +# Check extension version +ver=$(sed -n '/XDEBUG_VERSION/{s/.* "//;s/".*$//;p}' php_xdebug.h) +if test "$ver" != "%{version}%{?prever}"; then + : Error: Upstream XDEBUG_VERSION version is ${ver}, expecting %{version}%{?prever}. + exit 1 +fi + +cd .. + +%if %{with_zts} +# Duplicate source tree for NTS / ZTS build +cp -pr NTS ZTS +%endif + + +%build +cd NTS +%{_bindir}/phpize +%configure \ + --enable-xdebug \ + --with-php-config=%{_bindir}/php-config +make %{?_smp_mflags} + +# Build debugclient +pushd debugclient + +# buildconf required for aarch64 support +./buildconf +%configure --with-libedit +make %{?_smp_mflags} +popd + +%if %{with_zts} +cd ../ZTS +%{_bindir}/zts-phpize +%configure \ + --enable-xdebug \ + --with-php-config=%{_bindir}/zts-php-config +make %{?_smp_mflags} +%endif + + +%install +rm -rf %{buildroot} + +# install NTS extension +make -C NTS install INSTALL_ROOT=%{buildroot} + +# install debugclient +install -Dpm 755 NTS/debugclient/debugclient \ + %{buildroot}%{_bindir}/debugclient + +# install package registration file +install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + +# install config file +install -d %{buildroot}%{php_inidir} +cat << 'EOF' | tee %{buildroot}%{php_inidir}/%{ini_name} +; Enable xdebug extension module +%if "%{php_version}" > "5.5" +zend_extension=%{pecl_name}.so +%else +zend_extension=%{php_extdir}/%{pecl_name}.so +%endif + +; see http://xdebug.org/docs/all_settings +EOF +%{?nfsmountable:install -D -m 644 %{buildroot}%{php_inidir}/%{ini_name} %{buildroot}%{_scl_scripts}/register.content%{php_inidir}/%{ini_name}} + +%if %{with_zts} +# Install ZTS extension +make -C ZTS install INSTALL_ROOT=%{buildroot} + +install -d %{buildroot}%{php_ztsinidir} +cat << 'EOF' | tee %{buildroot}%{php_ztsinidir}/%{ini_name} +; Enable xdebug extension module +%if "%{php_version}" > "5.5" +zend_extension=%{pecl_name}.so +%else +zend_extension=%{php_ztsextdir}/%{pecl_name}.so +%endif + +; see http://xdebug.org/docs/all_settings +EOF +%{?nfsmountable:install -D -m 644 %{buildroot}%{php_ztsinidir}/%{ini_name} %{buildroot}%{_scl_scripts}/register.content%{php_ztsinidir}/%{ini_name}} +%endif + +# Documentation +for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') +do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +done + + +%check +# only check if build extension can be loaded +%{_bindir}/php \ + --no-php-ini \ + --define zend_extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ + --modules | grep Xdebug + +%if %{with_zts} +%{_bindir}/zts-php \ + --no-php-ini \ + --define zend_extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ + --modules | grep Xdebug +%endif + + +# when pear installed alone, after us +%triggerin -- %{?scl_prefix}php-pear +if [ -x %{__pecl} ] ; then + %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : +fi + +# posttrans as pear can be installed after us +%posttrans +if [ -x %{__pecl} ] ; then + %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : +fi + +%postun +if [ $1 -eq 0 -a -x %{__pecl} ] ; then + %{pecl_uninstall} %{pecl_name} >/dev/null || : +fi + + +%clean +rm -rf %{buildroot} + + +%files +%defattr(-,root,root,-) +%doc %{pecl_docdir}/%{pecl_name} +%config(noreplace) %{php_inidir}/%{ini_name} +%{_bindir}/debugclient + +%{php_extdir}/%{pecl_name}.so +%{pecl_xmldir}/%{name}.xml +%{?nfsmountable:%{_scl_scripts}/register.content/*} + +%if %{with_zts} +%config(noreplace) %{php_ztsinidir}/%{ini_name} +%{php_ztsextdir}/%{pecl_name}.so +%endif + + +%changelog +* Mon Mar 16 2015 Remi Collet 2.2.7-3 +- rebuild to remove scls directory #1200056 + +* Mon Jan 26 2015 Remi Collet 2.2.7-2 +- add register and deregister scripts +- fix %%postun scriptlet + +* Thu Jan 22 2015 Remi Collet 2.2.7-1 +- rebase to 2.2.7 +- drop upstream patch + +* Thu Jan 15 2015 Remi Collet 2.2.6-1 +- initial package for rh-php56 in RHSCL-2.0 +- drop runtime dependency on pear + +* Wed Dec 3 2014 Remi Collet - 2.2.6-3 +- more upstream patch + +* Wed Dec 3 2014 Remi Collet - 2.2.6-2 +- add upstream patch for couchbase compatibility + see http://bugs.xdebug.org/view.php?id=1087 + +* Sun Nov 16 2014 Remi Collet - 2.2.6-1 +- Update to 2.2.6 (stable) + +* Mon Aug 25 2014 Remi Collet - 2.2.5-2 +- improve SCL build + +* Wed Apr 30 2014 Remi Collet - 2.2.5-1 +- Update to 2.2.5 (stable) + +* Wed Apr 9 2014 Remi Collet - 2.2.4-3 +- add numerical prefix to extension configuration file +- drop uneeded full extension path + +* Wed Mar 19 2014 Remi Collet - 2.2.4-2 +- allow SCL build + +* Sun Mar 02 2014 Remi Collet - 2.2.4-1 +- Update to 2.2.4 (stable) +- move documentation in pecl_docdir + +* Wed May 22 2013 Remi Collet - 2.2.3-1 +- Update to 2.2.3 + +* Sun Mar 24 2013 Remi Collet - 2.2.2-1 +- update to 2.2.2 (stable) + +* Mon Mar 18 2013 Remi Collet - 2.2.2-0.5.gitb1ce1e3 +- new snapshot + +* Fri Jan 18 2013 Remi Collet - 2.2.2-0.4.gitb44a72a +- new snapshot +- drop our patch, merged upstream + +* Thu Jan 3 2013 Remi Collet - 2.2.2-0.3.gite1b9127 +- new snapshot +- add patch, see https://github.com/xdebug/xdebug/pull/51 + +* Fri Nov 30 2012 Remi Collet - 2.2.2-0.2.gite773b090fc +- rebuild with new php 5.5 snaphost with zend_execute_ex + +* Fri Nov 30 2012 Remi Collet - 2.2.2-0.1.gite773b090fc +- update to git snapshot for php 5.5 +- also provides php-xdebug + +* Sun Sep 9 2012 Remi Collet - 2.2.1-2 +- sync with rawhide, cleanups +- obsoletes php53*, php54* + +* Tue Jul 17 2012 Remi Collet - 2.2.1-1 +- Update to 2.2.1 + +* Fri Jun 22 2012 Remi Collet - 2.2.0-2 +- upstream patch for upstream bug #838/#839/#840 + +* Wed May 09 2012 Remi Collet - 2.2.0-1 +- Update to 2.2.0 + +* Sat Apr 28 2012 Remi Collet - 2.2.0-0.7.RC2 +- Update to 2.2.0RC2 + +* Wed Mar 14 2012 Remi Collet - 2.2.0-0.6.RC1 +- Update to 2.2.0RC1 + +* Sun Mar 11 2012 Remi Collet - 2.2.0-0.5.git8d9993b +- new git snapshot + +* Sat Jan 28 2012 Remi Collet - 2.2.0-0.4.git7e971c4 +- new git snapshot +- fix version reported by pecl list + +* Fri Jan 20 2012 Remi Collet - 2.2.0-0.3.git758d962 +- new git snapshot + +* Sun Dec 11 2011 Remi Collet - 2.2.0-0.2.gitd076740 +- new git snapshot + +* Sun Nov 13 2011 Remi Collet - 2.2.0-0.1.git535df90 +- update to 2.2.0-dev, build against php 5.4 + +* Tue Oct 04 2011 Remi Collet - 2.1.2-2 +- ZTS extension +- spec cleanups + +* Thu Jul 28 2011 Remi Collet - 2.1.2-1 +- update to 2.1.2 +- fix provides filter for rpm 4.9 +- improved description + +* Wed Mar 30 2011 Remi Collet - 2.1.1-1 +- allow relocation + +* Wed Mar 30 2011 Remi Collet - 2.1.1-1 +- update to 2.1.1 +- patch reported version + +* Wed Feb 09 2011 Fedora Release Engineering - 2.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Oct 23 2010 Remi Collet - 2.1.0-2 +- add filter_provides to avoid private-shared-object-provides xdebug.so +- add %%check section (minimal load test) +- always use libedit + +* Tue Jun 29 2010 Remi Collet - 2.1.0-1 +- update to 2.1.0 + +* Mon Sep 14 2009 Christopher Stone 2.0.5-1 +- Upstream sync + +* Sun Jul 26 2009 Fedora Release Engineering - 2.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sun Jul 12 2009 Remi Collet - 2.0.4-1 +- update to 2.0.4 (bugfix + Basic PHP 5.3 support) + +* Thu Feb 26 2009 Fedora Release Engineering - 2.0.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Oct 09 2008 Christopher Stone 2.0.3-4 +- Add code coverage patch (bz #460348) +- http://bugs.xdebug.org/bug_view_page.php?bug_id=0000344 + +* Thu Oct 09 2008 Christopher Stone 2.0.3-3 +- Revert last change + +* Thu Oct 09 2008 Christopher Stone 2.0.3-2 +- Add php-xml to Requires (bz #464758) + +* Thu May 22 2008 Christopher Stone 2.0.3-1 +- Upstream sync +- Clean up libedit usage +- Minor rpmlint fix + +* Sun Mar 02 2008 Christopher Stone 2.0.2-4 +- Add %%{__pecl} to post/postun Requires + +* Fri Feb 22 2008 Christopher Stone 2.0.2-3 +- %%define %%pecl_name to properly register package +- Install xml package description +- Add debugclient +- Many thanks to Edward Rudd (eddie@omegaware.com) (bz #432681) + +* Wed Feb 20 2008 Fedora Release Engineering - 2.0.2-2 +- Autorebuild for GCC 4.3 + +* Sun Nov 25 2007 Christopher Stone 2.0.2-1 +- Upstream sync + +* Sun Sep 30 2007 Christopher Stone 2.0.0-2 +- Update to latest standards +- Fix encoding on Changelog + +* Sat Sep 08 2007 Christopher Stone 2.0.0-1 +- Upstream sync +- Remove %%{?beta} tags + +* Sun Mar 11 2007 Christopher Stone 2.0.0-0.5.RC2 +- Create directory to untar sources +- Use new ABI check for FC6 +- Remove %%{release} from Provides + +* Mon Jan 29 2007 Christopher Stone 2.0.0-0.4.RC2 +- Compile with $RPM_OPT_FLAGS +- Use %{buildroot} instead of %%{buildroot} +- Fix license tag + +* Mon Jan 15 2007 Christopher Stone 2.0.0-0.3.RC2 +- Upstream sync + +* Sun Oct 29 2006 Christopher Stone 2.0.0-0.2.RC1 +- Upstream sync + +* Wed Sep 06 2006 Christopher Stone 2.0.0-0.1.beta6 +- Remove Provides php-xdebug +- Fix Release +- Remove prior changelog due to Release number change