diff options
-rw-r--r-- | php-redis.spec | 88 |
1 files changed, 54 insertions, 34 deletions
diff --git a/php-redis.spec b/php-redis.spec index e1ee4c2..477f9b7 100644 --- a/php-redis.spec +++ b/php-redis.spec @@ -1,9 +1,10 @@ -%global ext_name redis +%{!?php_inidir: %{expand: %%global php_inidir %{_sysconfdir}/php.d}} +%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}} + +%global pecl_name redis %global with_zts 0%{?__ztsphp:1} -%global gitver 6f7087f -%global gitrel 38 -%if 0%{?fedora} >= 16 || 0%{?rhel} >= 5 +%if 0%{?fedora} >= 18 %ifarch ppc64 # redis have ExcludeArch: ppc64 %global with_test 0 @@ -16,32 +17,30 @@ %endif Summary: Extension for communicating with the Redis key-value store -Name: php-%{ext_name} -Version: 2.2.2 -Release: 5%{?gitver:.git%{gitver}}%{?dist}.2 +Name: php-%{pecl_name} +Version: 2.2.3 +Release: 1%{?dist}.1 License: PHP Group: Development/Languages URL: https://github.com/nicolasff/phpredis -%if 0%{?gitver:1} -# wget https://github.com/nicolasff/phpredis/tarball/6f7087fbfe2b96a2fb36abb7005b70d86329c83d -Source0: nicolasff-phpredis-%{version}-%{gitrel}-g%{gitver}.tar.gz -%else -# wget https://github.com/nicolasff/phpredis/tarball/2.2.2 -O php-redis-2.2.2.tgz -Source0: %{name}-%{version}.tgz -%endif +Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz +# No test in pecl archive - https://github.com/nicolasff/phpredis/issues/332 +Source1: https://github.com/nicolasff/phpredis/archive/%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: php-devel BuildRequires: php-pecl-igbinary-devel # to run Test suite %if %{with_test} -BuildRequires: redis >= 2.4.0 +BuildRequires: redis >= 2.6 %endif Requires: php(zend-abi) = %{php_zend_api} Requires: php(api) = %{php_core_api} # php-pecl-igbinary missing php-pecl(igbinary)%{?_isa} Requires: php-pecl-igbinary%{?_isa} +Provides: php-pecl(%{pecl_name}) = %{version} +Provides: php-pecl(%{pecl_name})%{?_isa} = %{version} # Filter private shared object %{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} @@ -58,10 +57,11 @@ some doesn't work with an old redis server version. %prep -%setup -q -c +%setup -q -c -a 1 # rename source folder -mv *redis* nts +mv %{pecl_name}-%{version} nts +mv phpredis-%{version}/tests nts/tests # Sanity check, really often broken extver=$(sed -n '/#define PHP_REDIS_VERSION/{s/.* "//;s/".*$//;p}' nts/php_redis.h) @@ -76,13 +76,13 @@ cp -pr nts zts %endif # Drop in the bit of configuration -cat > %{ext_name}.ini << 'EOF' -; Enable %{ext_name} extension module -extension = %{ext_name}.so +cat > %{pecl_name}.ini << 'EOF' +; Enable %{pecl_name} extension module +extension = %{pecl_name}.so ; phpredis can be used to store PHP sessions. ; To do this, uncomment and configure below -;session.save_handler = %{ext_name} +;session.save_handler = %{pecl_name} ;session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2" EOF @@ -111,16 +111,22 @@ make %{?_smp_mflags} %install rm -rf %{buildroot} +# for short circuit +rm -f ?ts/modules/igbinary.so + # Install the NTS stuff make -C nts install INSTALL_ROOT=%{buildroot} -install -D -m 644 %{ext_name}.ini %{buildroot}%{_sysconfdir}/php.d/%{ext_name}.ini +install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_inidir}/%{pecl_name}.ini # Install the ZTS stuff %if %{with_zts} make -C zts install INSTALL_ROOT=%{buildroot} -install -D -m 644 %{ext_name}.ini %{buildroot}%{php_ztsinidir}/%{ext_name}.ini +install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini %endif +# Install the package XML file +install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + %check # simple module load test @@ -128,16 +134,16 @@ ln -sf %{php_extdir}/igbinary.so nts/modules/igbinary.so php --no-php-ini \ --define extension_dir=nts/modules \ --define extension=igbinary.so \ - --define extension=%{ext_name}.so \ - --modules | grep %{ext_name} + --define extension=%{pecl_name}.so \ + --modules | grep %{pecl_name} %if %{with_zts} ln -sf %{php_ztsextdir}/igbinary.so zts/modules/igbinary.so %{__ztsphp} --no-php-ini \ --define extension_dir=zts/modules \ --define extension=igbinary.so \ - --define extension=%{ext_name}.so \ - --modules | grep %{ext_name} + --define extension=%{pecl_name}.so \ + --modules | grep %{pecl_name} %endif %if %{with_test} @@ -168,7 +174,7 @@ ret=0 php --no-php-ini \ --define extension_dir=../modules \ --define extension=igbinary.so \ - --define extension=%{ext_name}.so \ + --define extension=%{pecl_name}.so \ TestRedis.php || ret=1 # Cleanup @@ -183,25 +189,39 @@ exit $ret %endif +%post +%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : + + +%postun +if [ $1 -eq 0 ] ; then + %{pecl_uninstall} %{pecl_name} >/dev/null || : +fi + + %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) -%doc nts/COPYING nts/CREDITS nts/README.markdown -%doc nts/arrays.markdown nts/serialize.list +%doc nts/{COPYING,CREDITS,README.markdown,arrays.markdown} +%{pecl_xmldir}/%{name}.xml -%config(noreplace) %{_sysconfdir}/php.d/%{ext_name}.ini -%{php_extdir}/%{ext_name}.so +%{php_extdir}/%{pecl_name}.so +%config(noreplace) %{php_inidir}/%{pecl_name}.ini %if %{with_zts} -%{php_ztsextdir}/%{ext_name}.so -%config(noreplace) %{php_ztsinidir}/%{ext_name}.ini +%{php_ztsextdir}/%{pecl_name}.so +%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini %endif %changelog +* Tue Apr 30 2013 Remi Collet <remi@fedoraproject.org> - 2.2.3-1 +- update to 2.2.3 +- upstream moved to pecl + * Tue Sep 11 2012 Remi Collet <remi@fedoraproject.org> - 2.2.2-5.git6f7087f - more docs and improved description |