From 6440200c9f1c91fc507817b289d42cf8a224807f Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 23 Mar 2017 10:49:53 +0100 Subject: switch the spec --- php-pecl-apcu.spec | 226 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 132 insertions(+), 94 deletions(-) (limited to 'php-pecl-apcu.spec') 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 - 4.0.11-2 -- always obsoletes apc +* Mon Jan 16 2017 Remi Collet - 5.1.8-1 +- Update to 5.1.8 (php 7, stable) + +* Thu Dec 1 2016 Remi Collet - 5.1.7-2 +- rebuild with PHP 7.1.0 GA + +* Fri Oct 21 2016 Remi Collet - 5.1.7-1 +- Update to 5.1.7 (php 7, stable) + +* Tue Oct 18 2016 Remi Collet - 5.1.7-0.1.20161018gitb771cd5 +- test for upcoming 5.1.7 + +* Thu Oct 6 2016 Remi Collet - 5.1.6-1 +- Update to 5.1.6 (php 7, stable) + +* Wed Sep 14 2016 Remi Collet - 5.1.5-4 +- rebuild for PHP 7.1 new API version + +* Mon Jul 25 2016 Remi Collet - 5.1.5-3 +- add patch for PHP 7.1 and ZTS + +* Sat Jul 23 2016 Remi Collet - 5.1.5-2 +- disable ZTS build with PHP 7.1 + +* Tue Jun 7 2016 Remi Collet - 5.1.5-1 +- Update to 5.1.5 (php 7, stable) -* Wed Apr 20 2016 Remi Collet - 4.0.11-1 -- Update to 4.0.11 (stable) +* Thu May 12 2016 Remi Collet - 5.1.4-1 +- Update to 5.1.4 (php 7, stable) -* Mon Mar 7 2016 Remi Collet - 4.0.10-2 +* Sat Mar 5 2016 Remi Collet - 5.1.3-2 - adapt for F24 -* Mon Dec 7 2015 Remi Collet - 4.0.10-1 -- Update to 4.0.10 (stable) +* Fri Jan 15 2016 Remi Collet - 5.1.3-1 +- Update to 5.1.3 (stable) + +* Sat Jan 9 2016 Remi Collet - 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 - 5.1.2-1 +- Update to 5.1.2 (stable) + +* Mon Dec 7 2015 Remi Collet - 5.1.2-0.2 +- test build of upcomming 5.1.2 + +* Fri Dec 4 2015 Remi Collet - 5.1.2-0.1.20151204gitba021db +- test build of upcomming 5.1.2 + +* Fri Nov 20 2015 Remi Collet - 5.1.0-1 +- Update to 5.1.0 (beta) + +* Fri Nov 20 2015 Remi Collet - 5.1.0-0.1.20151120gitba683bc +- test build for upcoming 5.1.0 + +* Fri Nov 6 2015 Remi Collet - 5.0.0-0.6.20151106gitffb4fc8 +- new snapshot + +* Fri Nov 6 2015 Remi Collet - 5.0.0-0.5.20151106gite032e7b +- new snapshot + +* Wed Oct 14 2015 Remi Collet - 5.0.0-0.4.20151014git9c361d2 +- new snapshot (with apcu and apc extensions) + +* Tue Oct 13 2015 Remi Collet - 5.0.0-0.3.20150921gitea10226 +- rebuild for PHP 7.0.0RC5 new API version +- new snapshot -* Fri Nov 20 2015 Remi Collet - 4.0.8-1 -- Update to 4.0.8 (stable) +* Mon Sep 21 2015 Remi Collet - 5.0.0-0.2.20150921gitea10226 +- new snapshot -* Fri Nov 20 2015 Remi Collet - 4.0.8-0.1.20151120git0911f48 -- test build for upcoming 4.0.8 +* Mon Sep 21 2015 Remi Collet - 5.0.0-0.1.20150921gita3128da +- update to 5.0.0-dev for PHP 7 - sources from github * Fri Jun 19 2015 Remi Collet - 4.0.7-3 -- cgit