summaryrefslogtreecommitdiffstats
path: root/php-pecl-apcu.spec
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2017-03-23 10:49:53 +0100
committerRemi Collet <fedora@famillecollet.com>2017-03-23 10:49:53 +0100
commit6440200c9f1c91fc507817b289d42cf8a224807f (patch)
tree591ea5d7294e3eaf8e37ebe09122ed28ea54978c /php-pecl-apcu.spec
parent01e13ddbbc5677ac0cd4e63e0053e8b6273bf9d1 (diff)
switch the spec
Diffstat (limited to 'php-pecl-apcu.spec')
-rw-r--r--php-pecl-apcu.spec226
1 files changed, 132 insertions, 94 deletions
diff --git a/php-pecl-apcu.spec b/php-pecl-apcu.spec
index 47e573b..8cbdfc7 100644
--- a/php-pecl-apcu.spec
+++ b/php-pecl-apcu.spec
@@ -10,39 +10,31 @@
# Please, preserve the changelog entries
#
%if 0%{?scl:1}
-%if "%{scl}" == "rh-php56"
-%global sub_prefix more-php56-
-%else
%global sub_prefix %{scl_prefix}
-%endif
+%scl_package php-pecl-apcu
%endif
-%{?scl: %scl_package php-pecl-apcu}
-%{!?scl: %global pkg_name %{name}}
-%global gh_commit d7b65bf289e7dd3cd22350554b5eb99fc3bb2a9c
+%global bootstrap 0
+%global gh_commit b771cd50a7fe519b6aaccbe5dc97594e68e0c88f
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner krakjoe
%global gh_project apcu
-#global gh_date 20151120
+#global gh_date 20161018
%global pecl_name apcu
-%global with_zts 0%{?__ztsphp:1}
-%if "%{php_version}" < "5.6"
-%global ini_name %{pecl_name}.ini
-%else
+%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
%global ini_name 40-%{pecl_name}.ini
-%endif
Name: %{?sub_prefix}php-pecl-apcu
Summary: APC User Cache
-Version: 4.0.11
+Version: 5.1.8
%if 0%{?gh_date:1}
Release: 0.1.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz
%else
-Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz
%endif
-Source1: %{pecl_name}.ini
+Source1: %{pecl_name}-5.1.2.ini
Source2: %{pecl_name}-panel.conf
Source3: %{pecl_name}.conf.php
@@ -50,47 +42,43 @@ License: PHP
Group: Development/Languages
URL: http://pecl.php.net/package/APCu
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: %{?scl_prefix}php-devel
+BuildRequires: %{?scl_prefix}php-devel > 7
BuildRequires: %{?scl_prefix}php-pear
BuildRequires: pcre-devel
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}}
+%if ! %{bootstrap}
+# For user experience
+Requires: %{?scl_prefix}php-pecl-apcu-bc%{?_isa}
+%endif
-Obsoletes: %{?scl_prefix}php-apcu < 4.0.0-1
-Provides: %{?scl_prefix}php-apcu = %{version}
-Provides: %{?scl_prefix}php-apcu%{?_isa} = %{version}
-Provides: %{?scl_prefix}php-pecl(apcu) = %{version}
+Obsoletes: %{?scl_prefix}php-apcu < 4.0.0-1
+Provides: %{?scl_prefix}php-apcu = %{version}
+Provides: %{?scl_prefix}php-apcu%{?_isa} = %{version}
+Provides: %{?scl_prefix}php-pecl(apcu) = %{version}
Provides: %{?scl_prefix}php-pecl(apcu)%{?_isa} = %{version}
%if "%{?scl_prefix}" != "%{?sub_prefix}"
-Provides: %{?scl_prefix}php-pecl-apcu = %{version}-%{release}
-Provides: %{?scl_prefix}php-pecl-apcu%{?_isa} = %{version}-%{release}
+Provides: %{?scl_prefix}php-pecl-apcu = %{version}-%{release}
+Provides: %{?scl_prefix}php-pecl-apcu%{?_isa} = %{version}-%{release}
%endif
-Obsoletes: %{?scl_prefix}php-pecl-apc < 4
-
-# Same provides than APC, this is a drop in replacement
-Provides: %{?scl_prefix}php-apc = %{version}
-Provides: %{?scl_prefix}php-apc%{?_isa} = %{version}
-Provides: %{?scl_prefix}php-pecl-apc = %{version}
-Provides: %{?scl_prefix}php-pecl-apc%{?_isa} = %{version}
-Provides: %{?scl_prefix}php-pecl(APC) = %{version}
-Provides: %{?scl_prefix}php-pecl(APC)%{?_isa} = %{version}
%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel}
# Other third party repo stuff
-Obsoletes: php53-pecl-%{pecl_name} <= %{version}
+Obsoletes: php53-pecl-%{pecl_name} <= %{version}
Obsoletes: php53u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php54-pecl-%{pecl_name} <= %{version}
+Obsoletes: php54-pecl-%{pecl_name} <= %{version}
Obsoletes: php54w-pecl-%{pecl_name} <= %{version}
-%if "%{php_version}" > "5.5"
Obsoletes: php55u-pecl-%{pecl_name} <= %{version}
Obsoletes: php55w-pecl-%{pecl_name} <= %{version}
-%endif
-%if "%{php_version}" > "5.6"
Obsoletes: php56u-pecl-%{pecl_name} <= %{version}
Obsoletes: php56w-pecl-%{pecl_name} <= %{version}
+Obsoletes: php70u-pecl-%{pecl_name} <= %{version}
+Obsoletes: php70w-pecl-%{pecl_name} <= %{version}
+%if "%{php_version}" > "7.1"
+Obsoletes: php71u-pecl-%{pecl_name} <= %{version}
+Obsoletes: php71w-pecl-%{pecl_name} <= %{version}
%endif
%endif
@@ -102,24 +90,12 @@ Obsoletes: php56w-pecl-%{pecl_name} <= %{version}
%description
-APCu is userland caching: APC stripped of opcode caching in preparation
-for the deployment of Zend OPcache as the primary solution to opcode
-caching in future versions of PHP.
-
-APCu has a revised and simplified codebase, by the time the PECL release
-is available, every part of APCu being used will have received review and
-where necessary or appropriate, changes.
+APCu is userland caching: APC stripped of opcode caching.
-Simplifying and documenting the API of APCu completely removes the barrier
-to maintenance and development of APCu in the future, and additionally allows
-us to make optimizations not possible previously because of APC's inherent
-complexity.
+APCu only supports userland caching of variables.
-APCu only supports userland caching (and dumping) of variables, providing an
-upgrade path for the future. When O+ takes over, many will be tempted to use
-3rd party solutions to userland caching, possibly even distributed solutions;
-this would be a grave error. The tried and tested APC codebase provides far
-superior support for local storage of PHP variables.
+The %{?sub_prefix}php-pecl-apcu-bc package provides a drop
+in replacement for APC.
Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}.
@@ -129,9 +105,14 @@ Summary: APCu developer files (header)
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{?scl_prefix}php-devel%{?_isa}
-Obsoletes: %{?scl_prefix}php-pecl-apc-devel < 4
-Provides: %{?scl_prefix}php-pecl-apc-devel = %{version}-%{release}
-Provides: %{?scl_prefix}php-pecl-apc-devel%{?_isa} = %{version}-%{release}
+
+Obsoletes: %{?scl_prefix}php-pecl-apc-devel < 4
+Provides: %{?scl_prefix}php-pecl-apc-devel = %{version}-%{release}
+Provides: %{?scl_prefix}php-pecl-apc-devel%{?_isa} = %{version}-%{release}
+%if "%{?scl_prefix}" != "%{?sub_prefix}"
+Provides: %{?scl_prefix}php-pecl-apcu-devel = %{version}-%{release}
+Provides: %{?scl_prefix}php-pecl-apcu-devel%{?_isa} = %{version}-%{release}
+%endif
%description devel
These are the files needed to compile programs using APCu.
@@ -148,6 +129,7 @@ Requires: %{name} = %{version}-%{release}
Requires: mod_php
Requires: php-gd
Requires: httpd
+
Obsoletes: apc-panel < 4
Provides: apc-panel = %{version}-%{release}
@@ -172,8 +154,8 @@ cd NTS
# Sanity check, really often broken
extver=$(sed -n '/#define PHP_APCU_VERSION/{s/.* "//;s/".*$//;p}' php_apc.h)
-if test "x${extver}" != "x%{version}"; then
- : Error: Upstream extension version is ${extver}, expecting %{version}.
+if test "x${extver}" != "x%{version}%{?prever}%{?gh_date:-dev}"; then
+ : Error: Upstream extension version is ${extver}, expecting %{version}%{?prever}%{?gh_date:-dev}.
exit 1
fi
cd ..
@@ -183,28 +165,34 @@ cd ..
cp -pr NTS ZTS
%endif
+%if 0%{!?scl:1}
# Fix path to configuration file
sed -e s:apc.conf.php:%{_sysconfdir}/apcu-panel/conf.php:g \
- -i NTS/apc.php
-
+ -i NTS/apc.php
+%else
+# Provide the control panel as doc
+sed -e '/"apc.php"/s/role="src"/role="doc"/' -i package.xml
+%endif
%build
cd NTS
%{_bindir}/phpize
-%configure --with-php-config=%{_bindir}/php-config
+%configure \
+ --enable-apcu \
+ --with-php-config=%{_bindir}/php-config
make %{?_smp_mflags}
%if %{with_zts}
cd ../ZTS
%{_bindir}/zts-phpize
-%configure --with-php-config=%{_bindir}/zts-php-config
+%configure \
+ --enable-apcu \
+ --with-php-config=%{_bindir}/zts-php-config
make %{?_smp_mflags}
%endif
%install
-rm -rf %{buildroot}
-
# Install the NTS stuff
make -C NTS install INSTALL_ROOT=%{buildroot}
install -D -m 644 %{SOURCE1} %{buildroot}%{php_inidir}/%{ini_name}
@@ -235,7 +223,8 @@ install -D -m 644 -p %{SOURCE3} \
# Test & Documentation
cd NTS
for i in $(grep 'role="test"' ../package.xml | sed -e 's/^.*name="//;s/".*$//')
-do install -Dpm 644 $i %{buildroot}%{pecl_testdir}/%{pecl_name}/$i
+do [ -f $i ] && install -Dpm 644 $i %{buildroot}%{pecl_testdir}/%{pecl_name}/$i
+ [ -f tests/$i ] && install -Dpm 644 tests/$i %{buildroot}%{pecl_testdir}/%{pecl_name}/tests/$i
done
for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//')
do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
@@ -244,37 +233,32 @@ done
%check
cd NTS
-
-# Check than both extensions are reported (BC mode)
-%{_bindir}/php -n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so -m | grep 'apcu'
-%{_bindir}/php -n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so -m | grep 'apc$'
+%{_bindir}/php -n \
+ -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
+ -m | grep 'apcu'
# Upstream test suite for NTS extension
TEST_PHP_EXECUTABLE=%{_bindir}/php \
-TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{pecl_name}.so" \
+TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \
NO_INTERACTION=1 \
REPORT_EXIT_STATUS=1 \
%{_bindir}/php -n run-tests.php --show-diff
%if %{with_zts}
cd ../ZTS
-
-%{__ztsphp} -n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so -m | grep 'apcu'
-%{__ztsphp} -n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so -m | grep 'apc$'
+%{__ztsphp} -n \
+ -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
+ -m | grep 'apcu'
# Upstream test suite for ZTS extension
TEST_PHP_EXECUTABLE=%{__ztsphp} \
-TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{pecl_name}.so" \
+TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \
NO_INTERACTION=1 \
REPORT_EXIT_STATUS=1 \
%{__ztsphp} -n run-tests.php --show-diff
%endif
-%clean
-rm -rf %{buildroot}
-
-
%if 0%{?fedora} < 24
# when pear installed alone, after us
%triggerin -- %{?scl_prefix}php-pear
@@ -296,7 +280,6 @@ fi
%files
-%defattr(-,root,root,-)
%{?_licensedir:%license NTS/LICENSE}
%doc %{pecl_docdir}/%{pecl_name}
%{pecl_xmldir}/%{name}.xml
@@ -305,13 +288,12 @@ fi
%{php_extdir}/%{pecl_name}.so
%if %{with_zts}
-%{php_ztsextdir}/%{pecl_name}.so
%config(noreplace) %{php_ztsinidir}/%{ini_name}
+%{php_ztsextdir}/%{pecl_name}.so
%endif
%files devel
-%defattr(-,root,root,-)
%doc %{pecl_testdir}/%{pecl_name}
%{php_incldir}/ext/%{pecl_name}
@@ -322,7 +304,6 @@ fi
%if 0%{!?scl:1}
%files -n apcu-panel
-%defattr(-,root,root,-)
# Need to restrict access, as it contains a clear password
%attr(550,apache,root) %dir %{_sysconfdir}/apcu-panel
%config(noreplace) %{_sysconfdir}/apcu-panel/conf.php
@@ -332,23 +313,80 @@ fi
%changelog
-* Wed May 4 2016 Remi Collet <remi@fedoraproject.org> - 4.0.11-2
-- always obsoletes apc
+* Mon Jan 16 2017 Remi Collet <remi@fedoraproject.org> - 5.1.8-1
+- Update to 5.1.8 (php 7, stable)
+
+* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 5.1.7-2
+- rebuild with PHP 7.1.0 GA
+
+* Fri Oct 21 2016 Remi Collet <remi@fedoraproject.org> - 5.1.7-1
+- Update to 5.1.7 (php 7, stable)
+
+* Tue Oct 18 2016 Remi Collet <remi@fedoraproject.org> - 5.1.7-0.1.20161018gitb771cd5
+- test for upcoming 5.1.7
+
+* Thu Oct 6 2016 Remi Collet <remi@fedoraproject.org> - 5.1.6-1
+- Update to 5.1.6 (php 7, stable)
+
+* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 5.1.5-4
+- rebuild for PHP 7.1 new API version
+
+* Mon Jul 25 2016 Remi Collet <remi@fedoraproject.org> - 5.1.5-3
+- add patch for PHP 7.1 and ZTS
+
+* Sat Jul 23 2016 Remi Collet <remi@fedoraproject.org> - 5.1.5-2
+- disable ZTS build with PHP 7.1
+
+* Tue Jun 7 2016 Remi Collet <remi@fedoraproject.org> - 5.1.5-1
+- Update to 5.1.5 (php 7, stable)
-* Wed Apr 20 2016 Remi Collet <remi@fedoraproject.org> - 4.0.11-1
-- Update to 4.0.11 (stable)
+* Thu May 12 2016 Remi Collet <remi@fedoraproject.org> - 5.1.4-1
+- Update to 5.1.4 (php 7, stable)
-* Mon Mar 7 2016 Remi Collet <remi@fedoraproject.org> - 4.0.10-2
+* Sat Mar 5 2016 Remi Collet <remi@fedoraproject.org> - 5.1.3-2
- adapt for F24
-* Mon Dec 7 2015 Remi Collet <remi@fedoraproject.org> - 4.0.10-1
-- Update to 4.0.10 (stable)
+* Fri Jan 15 2016 Remi Collet <remi@fedoraproject.org> - 5.1.3-1
+- Update to 5.1.3 (stable)
+
+* Sat Jan 9 2016 Remi Collet <remi@fedoraproject.org> - 5.1.2-2
+- add upstream patches to fix issues with apcu_inc / apcu_dec
+ https://github.com/krakjoe/apcu/issues/158 - negative step hangs
+ https://github.com/krakjoe/apcu/issues/164 - huge step performance
+
+* Mon Dec 7 2015 Remi Collet <remi@fedoraproject.org> - 5.1.2-1
+- Update to 5.1.2 (stable)
+
+* Mon Dec 7 2015 Remi Collet <remi@fedoraproject.org> - 5.1.2-0.2
+- test build of upcomming 5.1.2
+
+* Fri Dec 4 2015 Remi Collet <remi@fedoraproject.org> - 5.1.2-0.1.20151204gitba021db
+- test build of upcomming 5.1.2
+
+* Fri Nov 20 2015 Remi Collet <remi@fedoraproject.org> - 5.1.0-1
+- Update to 5.1.0 (beta)
+
+* Fri Nov 20 2015 Remi Collet <remi@fedoraproject.org> - 5.1.0-0.1.20151120gitba683bc
+- test build for upcoming 5.1.0
+
+* Fri Nov 6 2015 Remi Collet <remi@fedoraproject.org> - 5.0.0-0.6.20151106gitffb4fc8
+- new snapshot
+
+* Fri Nov 6 2015 Remi Collet <remi@fedoraproject.org> - 5.0.0-0.5.20151106gite032e7b
+- new snapshot
+
+* Wed Oct 14 2015 Remi Collet <remi@fedoraproject.org> - 5.0.0-0.4.20151014git9c361d2
+- new snapshot (with apcu and apc extensions)
+
+* Tue Oct 13 2015 Remi Collet <remi@fedoraproject.org> - 5.0.0-0.3.20150921gitea10226
+- rebuild for PHP 7.0.0RC5 new API version
+- new snapshot
-* Fri Nov 20 2015 Remi Collet <remi@fedoraproject.org> - 4.0.8-1
-- Update to 4.0.8 (stable)
+* Mon Sep 21 2015 Remi Collet <remi@fedoraproject.org> - 5.0.0-0.2.20150921gitea10226
+- new snapshot
-* Fri Nov 20 2015 Remi Collet <remi@fedoraproject.org> - 4.0.8-0.1.20151120git0911f48
-- test build for upcoming 4.0.8
+* Mon Sep 21 2015 Remi Collet <remi@fedoraproject.org> - 5.0.0-0.1.20150921gita3128da
+- update to 5.0.0-dev for PHP 7
- sources from github
* Fri Jun 19 2015 Remi Collet <remi@fedoraproject.org> - 4.0.7-3