From f5b315adb75b7d6d201a175156e804fa2f108bae Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 14 Jan 2014 18:03:32 +0100 Subject: php-pecl-rrd: 1.1.2 (stable) --- php-pecl-rrd.spec | 137 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 94 insertions(+), 43 deletions(-) (limited to 'php-pecl-rrd.spec') diff --git a/php-pecl-rrd.spec b/php-pecl-rrd.spec index 1db191d..1079c5f 100644 --- a/php-pecl-rrd.spec +++ b/php-pecl-rrd.spec @@ -6,42 +6,64 @@ # # Please, preserve the changelog entries # -%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}} +%{?scl: %scl_package php-pecl-rrd} +%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} +%{!?__pecl: %global __pecl %{_bindir}/pecl} +%{!?__php: %global __php %{_bindir}/php} +%global with_zts 0%{?__ztsphp:1} %global pecl_name rrd Summary: PHP Bindings for rrdtool -Name: php-pecl-rrd -Version: 1.1.1 -Release: 1%{?dist}.1 +Name: %{?scl_prefix}php-pecl-rrd +Version: 1.1.2 +Release: 2%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} License: BSD Group: Development/Languages URL: http://pecl.php.net/package/rrd Source: http://pecl.php.net/get/%{pecl_name}-%{version}%{?pre}.tgz +# http://svn.php.net/viewvc?view=revision&revision=332619 +# fix build with rrdtool < 1.4 +Patch0: %{pecl_name}-svn.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: php-devel >= 5.3.2 +BuildRequires: %{?scl_prefix}php-devel >= 5.3.2 BuildRequires: rrdtool BuildRequires: rrdtool-devel >= 1.3.0 -BuildRequires: php-pear +BuildRequires: %{?scl_prefix}php-pear Requires(post): %{__pecl} Requires(postun): %{__pecl} -Requires: php(zend-abi) = %{php_zend_api} -Requires: php(api) = %{php_core_api} - -Conflicts: rrdtool-php -Provides: php-pecl(%{pecl_name}) = %{version}%{?pre} -Provides: php-pecl(%{pecl_name})%{?_isa} = %{version}%{?pre} -Provides: php-%{pecl_name} = %{version}%{?pre} -Provides: php-%{pecl_name}%{?_isa} = %{version}%{?pre} - - -# Filter private shared object -%{?filter_provides_in: %filter_provides_in %{_dir}/.*\.so$} +Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} +Requires: %{?scl_prefix}php(api) = %{php_core_api} + +Conflicts: %{?scl_prefix}rrdtool-php +Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}%{?pre} +Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}%{?pre} +Provides: %{?scl_prefix}php-%{pecl_name} = %{version}%{?pre} +Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}%{?pre} + + +%if 0%{!?scl:1} +# Other third party repo stuff +%if "%{php_version}" > "5.4" +Obsoletes: php53-pecl-%{pecl_name} +Obsoletes: php53u-pecl-%{pecl_name} +Obsoletes: php54-pecl-%{pecl_name} +%endif +%if "%{php_version}" > "5.5" +Obsoletes: php55u-pecl-%{pecl_name} +%endif +%endif + +%if 0%{?fedora} < 20 +# Filter shared private +%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} %{?filter_setup} +%endif %description @@ -52,58 +74,79 @@ system for time series data. %prep %setup -c -q -cp -r %{pecl_name}-%{version}%{?pre} %{pecl_name}-%{version}-zts +mv %{pecl_name}-%{version} NTS -extver=$(sed -n '/#define PHP_RRD_VERSION/{s/.* "//;s/".*$//;p}' %{pecl_name}-%{version}%{?pre}/php_rrd.h) -if test "x${extver}" != "x%{version}%{?pre}"; then - : Error: Upstream version is ${extver}, expecting %{version}. - exit 1 -fi +cd NTS +%patch0 -p0 -b .svn +cd .. cat > %{pecl_name}.ini << 'EOF' ; Enable %{pecl_name} extension module extension=%{pecl_name}.so EOF +%if %{with_zts} +cp -r NTS ZTS +%endif + %build -cd %{pecl_name}-%{version}%{?pre} +cd NTS %{_bindir}/phpize %configure --with-php-config=%{_bindir}/php-config make %{?_smp_mflags} -cd ../%{pecl_name}-%{version}-zts +%if %{with_zts} +cd ../ZTS %{_bindir}/zts-phpize %configure --with-php-config=%{_bindir}/zts-php-config make %{?_smp_mflags} +%endif %install rm -rf %{buildroot} -make install -C %{pecl_name}-%{version}%{?pre} INSTALL_ROOT=%{buildroot} -make install -C %{pecl_name}-%{version}-zts INSTALL_ROOT=%{buildroot} +make install -C NTS INSTALL_ROOT=%{buildroot} # Drop in the bit of configuration install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_inidir}/%{pecl_name}.ini -install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini # Install XML package description install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml +%if %{with_zts} +make install -C ZTS INSTALL_ROOT=%{buildroot} +install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini +%endif + +# Test & Documentation +for i in $(grep 'role="test"' package.xml | sed -e 's/^.*name="//;s/".*$//') +do install -Dpm 644 NTS/$i %{buildroot}%{pecl_testdir}/%{pecl_name}/$i +done +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 +%if %{with_zts} %{__ztsphp} --no-php-ini \ - --define extension_dir=%{pecl_name}-%{version}-zts/modules \ - --define extension=%{pecl_name}.so \ + --define extension=ZTS/modules/%{pecl_name}.so \ --modules | grep %{pecl_name} +%endif -cd %{pecl_name}-%{version}%{?pre} +cd NTS %{__php} --no-php-ini \ - --define extension_dir=modules \ - --define extension=%{pecl_name}.so \ + --define extension=modules/%{pecl_name}.so \ --modules | grep %{pecl_name} +%if 0%{?fedora} < 14 && 0%{?rhel} < 7 + # skip tests which only succeed with rrdtool > 1.4.0 + rm tests/rrd_012.phpt \ + tests/rrd_017.phpt +%endif + make -C tests/data clean make -C tests/data all make test NO_INTERACTION=1 | tee rpmtests.log @@ -114,12 +157,7 @@ if grep -q "FAILED TEST" rpmtests.log; then diff -u tests/$(basename $t .diff).exp tests/$(basename $t .diff).out || : done - # tests only succeed with some rrdtool version (> 1.4.0 but < 1.4.7) - # because of difference between image size / position - # http://pecl.php.net/bugs/22642 - - # only consider result of rrd_version test - [ -f tests/rrd_020.diff ] && exit 1 + exit 1 fi @@ -139,15 +177,28 @@ fi %files %defattr(-, root, root, -) -%doc %{pecl_name}-%{version}%{?pre}/{CREDITS,LICENSE} +%doc %{pecl_docdir}/%{pecl_name} +%doc %{pecl_testdir}/%{pecl_name} %config(noreplace) %{php_inidir}/%{pecl_name}.ini -%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini %{php_extdir}/%{pecl_name}.so -%{php_ztsextdir}/%{pecl_name}.so %{pecl_xmldir}/%{name}.xml +%if %{with_zts} +%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini +%{php_ztsextdir}/%{pecl_name}.so +%endif + %changelog +* Tue Jan 14 2014 Remi Collet - 1.1.2-2 +- fix upstream patch + +* Tue Jan 14 2014 Remi Collet - 1.1.2-1 +- Update to 1.1.2 (stable) +- install doc in pecl doc_dir +- install tests in pecl test_dir +- adapt for SCL + * Mon Sep 09 2013 Remi Collet - 1.1.1-1 - Update to 1.1.1 -- cgit