summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2014-07-24 13:28:08 +0200
committerRemi Collet <fedora@famillecollet.com>2014-07-24 13:28:08 +0200
commit3b0577edf87b5deaeaea8f67bcfc06a470e8e2b1 (patch)
tree5165687ff4e4b099232c1d19dce1bbe40f748c53
parent4a7c863f2b1cb287987dad67b85452d94ebd0dd9 (diff)
php-pecl-yac: 0.9.0 (beta)
-rw-r--r--Makefile2
-rw-r--r--php-pecl-yac.spec101
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 <remi@fedoraproject.org> - 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 <remi@fedoraproject.org> - 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 <remi@fedoraproject.org> - 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