# remirepo spec file for php-pecl-stackdriver-debugger # # Copyright (c) 2017-2018 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # # we don't want -z defs linker flag %undefine _strict_symbol_defs_build %if 0%{?scl:1} %global sub_prefix %{scl_prefix} %scl_package php-pecl-stackdriver-debugger %endif %global pecl_name stackdriver_debugger %global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %global ini_name 40-%{pecl_name}.ini Summary: Investigate your code behavior in production Name: %{?sub_prefix}php-pecl-stackdriver-debugger Version: 0.2.0 Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} Source: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz License: ASL 2.0 URL: http://pecl.php.net/package/%{pecl_name} BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?scl_prefix}php-devel >= 7 BuildRequires: %{?scl_prefix}php-pear Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} %{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} Provides: %{?scl_prefix}php-%{pecl_name} = %{version} Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} %if "%{?scl_prefix}" != "%{?sub_prefix}" Provides: %{?scl_prefix}php-pecl-stackdriver-debugger = %{version}-%{release} Provides: %{?scl_prefix}php-pecl-stackdriver-debugger%{?_isa} = %{version}-%{release} %endif %if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} # Other third party repo stuff Obsoletes: php70u-pecl-stackdriver-debugger <= %{version} Obsoletes: php70w-pecl-stackdriver-debugger <= %{version} %if "%{php_version}" > "7.1" Obsoletes: php71u-pecl-stackdriver-debugger <= %{version} Obsoletes: php71w-pecl-stackdriver-debugger <= %{version} %endif %if "%{php_version}" > "7.2" Obsoletes: php72u-pecl-stackdriver-debugger <= %{version} Obsoletes: php72w-pecl-stackdriver-debugger <= %{version} %endif %endif %if 0%{?fedora} < 20 && 0%{?rhel} < 7 # Filter shared private %{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} %{?filter_setup} %endif %description Stackdriver Debugger is a free, open-source way to debug your running application without requiring a redeployment. This library allows you to set breakpoints in your running application that conditionally capture local variable state, stack traces, and more. This library can work in conjunction with the PHP library google/cloud-debugger (available via composer: https://packagist.org/packages/google/cloud-debugger) in order to send collected data to a backend storage server. Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. %prep %setup -qc mv %{pecl_name}-%{version} NTS %{?_licensedir:sed -e '/LICENSE/s/role="doc"/role="src"/' -i package.xml} \ cd NTS # Sanity check, really often broken extver=$(sed -n '/#define PHP_STACKDRIVER_DEBUGGER_VERSION/{s/.* "//;s/".*$//;p}' php_stackdriver_debugger.h) if test "x${extver}" != "x%{version}%{?gh_date:-dev}"; then : Error: Upstream extension version is ${extver}, expecting %{version}%{?gh_date:-dev}. exit 1 fi cd .. %if %{with_zts} # duplicate for ZTS build cp -pr NTS ZTS %endif # Drop in the bit of configuration cat > %{ini_name} << 'EOF' ; Enable %{pecl_name} extension module extension = %{pecl_name}.so ; Configuration ;stackdriver_debugger.function_whitelist = '' ;stackdriver_debugger.max_time = 10 ;stackdriver_debugger.max_time_percentage = 1 ;stackdriver_debugger.max_memory = 10 EOF %build %{?dtsenable} cd NTS %{_bindir}/phpize %configure \ --enable-stackdriver-debugger \ --with-php-config=%{_bindir}/php-config make %{?_smp_mflags} %if %{with_zts} cd ../ZTS %{_bindir}/zts-phpize %configure \ --enable-stackdriver-debugger \ --with-php-config=%{_bindir}/zts-php-config make %{?_smp_mflags} %endif %install %{?dtsenable} # Install the NTS stuff make -C NTS install INSTALL_ROOT=%{buildroot} install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} %if %{with_zts} # Install the ZTS stuff make -C ZTS install INSTALL_ROOT=%{buildroot} install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif # Install the package XML file install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml # Documentation cd NTS for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i done %check # see https://github.com/GoogleCloudPlatform/stackdriver-debugger-php-extension/issues/45 %if %{__isa_bits} < 64 rm ?TS/tests/logpoints/memory_limit.phpt %endif cd NTS : Minimal load test for NTS extension %{__php} --no-php-ini \ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ --modules | grep %{pecl_name} : Upstream test suite for NTS extension TEST_PHP_EXECUTABLE=%{__php} \ TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{pecl_name}.so" \ NO_INTERACTION=1 \ REPORT_EXIT_STATUS=1 \ %{__php} -n run-tests.php --show-diff %if %{with_zts} cd ../ZTS : Minimal load test for ZTS extension %{__ztsphp} --no-php-ini \ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ --modules | grep %{pecl_name} : Upstream test suite for ZTS extension TEST_PHP_EXECUTABLE=%{__ztsphp} \ TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{pecl_name}.so" \ NO_INTERACTION=1 \ REPORT_EXIT_STATUS=1 \ %{__ztsphp} -n run-tests.php --show-diff %endif %if 0%{?fedora} < 24 && 0%{?rhel} < 8 # 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 %endif %files %{?_licensedir:%license NTS/LICENSE} %doc %{pecl_docdir}/%{pecl_name} %{pecl_xmldir}/%{name}.xml %config(noreplace) %{php_inidir}/%{ini_name} %{php_extdir}/%{pecl_name}.so %if %{with_zts} %config(noreplace) %{php_ztsinidir}/%{ini_name} %{php_ztsextdir}/%{pecl_name}.so %endif %changelog * Thu Mar 8 2018 Remi Collet - 0.2.0-1 - update to 0.2.0 (alpha) - ignore test failing on 32-bit, reported as https://github.com/GoogleCloudPlatform/stackdriver-debugger-php-extension/issues/45 - add new option in provided configuration file * Wed Jan 10 2018 Remi Collet - 0.1.1-1 - Update to 0.1.1 (alpha) * Wed Jan 3 2018 Remi Collet - 0.1.0-1 - Update to 0.1.0 (alpha) * Tue Dec 12 2017 Remi Collet - 0.0.2-1 - initial package, version 0.0.2 (php 7, devel)