From 3b0577edf87b5deaeaea8f67bcfc06a470e8e2b1 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 24 Jul 2014 13:28:08 +0200 Subject: php-pecl-yac: 0.9.0 (beta) --- Makefile | 2 +- php-pecl-yac.spec | 101 ++++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 77 insertions(+), 26 deletions(-) diff --git a/Makefile b/Makefile index 91b0fd5..13af741 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ SRCDIR := $(shell pwd) NAME := $(shell basename $(SRCDIR)) -include ../../common/Makefile +include ../../../common/Makefile diff --git a/php-pecl-yac.spec b/php-pecl-yac.spec index f896a9a..d1dcff3 100644 --- a/php-pecl-yac.spec +++ b/php-pecl-yac.spec @@ -1,6 +1,6 @@ -# spec file for php-yac +# spec file for php-pecl-yac (previously php-yac) # -# Copyright (c) 2014 Remi Collet +# Copyright (c) 2013-2014 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/3.0/ # @@ -11,42 +11,54 @@ %{!?__pecl: %global __pecl %{_bindir}/pecl} %{!?__php: %global __php %{_bindir}/php} -%global pecl_name yac -%global commit 9271a83f029c9e4309c7669ba85bbb0fa2e8f585 -%global gitver %(c=%{commit}; echo ${c:0:7}) %global with_zts 0%{?__ztsphp:1} +%global pecl_name yac +%global with_tests %{!?_without_tests:1}%{?_without_tests:0} %if "%{php_version}" < "5.6" %global ini_name %{pecl_name}.ini %else %global ini_name 40-%{pecl_name}.ini %endif -Summary: Shared memory user data cache for PHP -Name: %{?scl_prefix}php-yac -Version: 0.1.1 -Release: 3%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} -Source0: https://github.com/laruence/%{pecl_name}/archive/%{commit}/%{pecl_name}-%{version}-%{gitver}.tar.gz +Summary: Lockless user data cache +Name: %{?scl_prefix}php-pecl-%{pecl_name} +Version: 0.9.0 +Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} License: PHP Group: Development/Languages -URL: https://github.com/laruence/yac +URL: http://pecl.php.net/package/%{pecl_name} +Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: %{?scl_prefix}php-devel >= 5.2 +BuildRequires: %{?scl_prefix}php-devel > 5.2 +BuildRequires: %{?scl_prefix}php-pear +Requires(post): %{__pecl} +Requires(postun): %{__pecl} Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} +# Package have be renamed +Obsoletes: %{?scl_prefix}php-%{pecl_name} < %{version} +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 "%{?vendor}" == "Remi Collet" # Other third party repo stuff -Obsoletes: php53-%{pecl_name} -Obsoletes: php53u-%{pecl_name} -Obsoletes: php54-%{pecl_name} +Obsoletes: php53-pecl-%{pecl_name} +Obsoletes: php53u-pecl-%{pecl_name} +Obsoletes: php54-pecl-%{pecl_name} +Obsoletes: php54w-pecl-%{pecl_name} %if "%{php_version}" > "5.5" -Obsoletes: php55u-%{pecl_name} +Obsoletes: php55u-pecl-%{pecl_name} +Obsoletes: php55w-pecl-%{pecl_name} %endif %if "%{php_version}" > "5.6" -Obsoletes: php56u-%{pecl_name} +Obsoletes: php56u-pecl-%{pecl_name} +Obsoletes: php56w-pecl-%{pecl_name} %endif %endif @@ -62,12 +74,15 @@ Yac (Yet Another Cache) is a shared memory user data cache for PHP. It can be used to replace APC or local memcached. -This extension is still EXPERIMENTAL. +Yac is lockless, that means, it is very fast, but there could be a +chance you will get a wrong data(depends on how many key slots are +allocated and how many keys are stored), so you'd better make sure +that your product is not very sensitive to that. %prep %setup -qc -mv %{pecl_name}-%{commit} NTS +mv %{pecl_name}-%{version} NTS # Drop in the bit of configuration cat > %{ini_name} << 'EOF' @@ -81,8 +96,6 @@ yac.enable=1 ;yac.compress_threshold=-1 EOF -# When this file will be removed, clean the description. -[ -f NTS/EXPERIMENTAL ] || exit 1 %if %{with_zts} # duplicate for ZTS build @@ -110,12 +123,23 @@ rm -rf %{buildroot} make -C NTS install INSTALL_ROOT=%{buildroot} install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} +# Install XML package description +install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + # Install the ZTS stuff %if %{with_zts} make -C ZTS install INSTALL_ROOT=%{buildroot} install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %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 cd NTS @@ -125,11 +149,16 @@ cd NTS --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ --modules | grep %{pecl_name} +%if %{with_tests} +: 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 +%{__php} -n run-tests.php --show-diff +%else +: Upstream test suite disabled +%endif %if %{with_zts} cd ../ZTS @@ -139,21 +168,38 @@ cd ../ZTS --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ --modules | grep %{pecl_name} +%if %{with_tests} +: 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 +%{__ztsphp} -n run-tests.php --show-diff +%else +: Upstream test suite disabled +%endif %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, 0755) -%doc NTS/{CREDITS,LICENSE,README.md} +%doc %{pecl_docdir}/%{pecl_name} +%doc %{pecl_testdir}/%{pecl_name} +%{pecl_xmldir}/%{name}.xml %config(noreplace) %{php_inidir}/%{ini_name} %{php_extdir}/%{pecl_name}.so @@ -165,6 +211,11 @@ rm -rf %{buildroot} %changelog +* Thu Jul 24 2014 Remi Collet - 0.9.0-1 +- upstream move to pecl +- rename from php-yac to php-pecl-yac +- update to 0.9.0 (beta) + * Thu Apr 17 2014 Remi Collet - 0.1.1-3 - add numerical prefix to extension configuration file (php 5.6) @@ -175,4 +226,4 @@ rm -rf %{buildroot} - version 0.1.1 * Sat Mar 23 2013 Remi Collet - 0.1.0-0.1.git57fe00d -- initial package, version 0.1.0 (experimental) +- initial package, version 0.1.0 (experimental) \ No newline at end of file -- cgit