From 5973d3d211ccc3dcfa1477651c61dd0c6b1b5ef6 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 6 Nov 2015 14:37:07 +0100 Subject: php-pecl-apcu: refresh --- REFLECTION-DEV | 147 ---------------- REFLECTION-PHP7 | 147 ++++++++++++++++ php-pecl-apcu-dev.spec | 446 ------------------------------------------------ php-pecl-apcu-php7.spec | 445 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 592 insertions(+), 593 deletions(-) delete mode 100644 REFLECTION-DEV create mode 100644 REFLECTION-PHP7 delete mode 100644 php-pecl-apcu-dev.spec create mode 100644 php-pecl-apcu-php7.spec diff --git a/REFLECTION-DEV b/REFLECTION-DEV deleted file mode 100644 index 102239f..0000000 --- a/REFLECTION-DEV +++ /dev/null @@ -1,147 +0,0 @@ -Extension [ extension #71 apcu version 5.0.0-dev ] { - - - INI { - Entry [ apc.enabled ] - Current = '1' - } - Entry [ apc.shm_segments ] - Current = '1' - } - Entry [ apc.shm_size ] - Current = '32M' - } - Entry [ apc.entries_hint ] - Current = '4096' - } - Entry [ apc.gc_ttl ] - Current = '3600' - } - Entry [ apc.ttl ] - Current = '0' - } - Entry [ apc.smart ] - Current = '0' - } - Entry [ apc.mmap_file_mask ] - Current = '/tmp/apc.XXXXXX' - } - Entry [ apc.enable_cli ] - Current = '0' - } - Entry [ apc.slam_defense ] - Current = '1' - } - Entry [ apc.preload_path ] - Current = '' - } - Entry [ apc.coredump_unmap ] - Current = '0' - } - Entry [ apc.use_request_time ] - Current = '1' - } - Entry [ apc.serializer ] - Current = 'php' - } - Entry [ apc.writable ] - Current = '/tmp' - } - } - - - Constants [1] { - Constant [ boolean APCU_APC_FULL_BC ] { 1 } - } - - - Functions { - Function [ function apcu_cache_info ] { - - - Parameters [2] { - Parameter #0 [ $type ] - Parameter #1 [ $limited ] - } - } - Function [ function apcu_clear_cache ] { - - - Parameters [1] { - Parameter #0 [ $cache ] - } - } - Function [ function apcu_sma_info ] { - - - Parameters [1] { - Parameter #0 [ $limited ] - } - } - Function [ function apcu_key_info ] { - - - Parameters [1] { - Parameter #0 [ $key ] - } - } - Function [ function apcu_enabled ] { - - - Parameters [0] { - } - } - Function [ function apcu_store ] { - - - Parameters [3] { - Parameter #0 [ $key ] - Parameter #1 [ $var ] - Parameter #2 [ $ttl ] - } - } - Function [ function apcu_fetch ] { - - - Parameters [2] { - Parameter #0 [ $key ] - Parameter #1 [ &$success ] - } - } - Function [ function apcu_delete ] { - - - Parameters [1] { - Parameter #0 [ $keys ] - } - } - Function [ function apcu_add ] { - - - Parameters [3] { - Parameter #0 [ $key ] - Parameter #1 [ $var ] - Parameter #2 [ $ttl ] - } - } - Function [ function apcu_inc ] { - - - Parameters [3] { - Parameter #0 [ $key ] - Parameter #1 [ $step ] - Parameter #2 [ &$success ] - } - } - Function [ function apcu_dec ] { - - - Parameters [3] { - Parameter #0 [ $key ] - Parameter #1 [ $step ] - Parameter #2 [ &$success ] - } - } - Function [ function apcu_cas ] { - - - Parameters [3] { - Parameter #0 [ $key ] - Parameter #1 [ $old ] - Parameter #2 [ $new ] - } - } - Function [ function apcu_exists ] { - - - Parameters [1] { - Parameter #0 [ $keys ] - } - } - } -} - diff --git a/REFLECTION-PHP7 b/REFLECTION-PHP7 new file mode 100644 index 0000000..102239f --- /dev/null +++ b/REFLECTION-PHP7 @@ -0,0 +1,147 @@ +Extension [ extension #71 apcu version 5.0.0-dev ] { + + - INI { + Entry [ apc.enabled ] + Current = '1' + } + Entry [ apc.shm_segments ] + Current = '1' + } + Entry [ apc.shm_size ] + Current = '32M' + } + Entry [ apc.entries_hint ] + Current = '4096' + } + Entry [ apc.gc_ttl ] + Current = '3600' + } + Entry [ apc.ttl ] + Current = '0' + } + Entry [ apc.smart ] + Current = '0' + } + Entry [ apc.mmap_file_mask ] + Current = '/tmp/apc.XXXXXX' + } + Entry [ apc.enable_cli ] + Current = '0' + } + Entry [ apc.slam_defense ] + Current = '1' + } + Entry [ apc.preload_path ] + Current = '' + } + Entry [ apc.coredump_unmap ] + Current = '0' + } + Entry [ apc.use_request_time ] + Current = '1' + } + Entry [ apc.serializer ] + Current = 'php' + } + Entry [ apc.writable ] + Current = '/tmp' + } + } + + - Constants [1] { + Constant [ boolean APCU_APC_FULL_BC ] { 1 } + } + + - Functions { + Function [ function apcu_cache_info ] { + + - Parameters [2] { + Parameter #0 [ $type ] + Parameter #1 [ $limited ] + } + } + Function [ function apcu_clear_cache ] { + + - Parameters [1] { + Parameter #0 [ $cache ] + } + } + Function [ function apcu_sma_info ] { + + - Parameters [1] { + Parameter #0 [ $limited ] + } + } + Function [ function apcu_key_info ] { + + - Parameters [1] { + Parameter #0 [ $key ] + } + } + Function [ function apcu_enabled ] { + + - Parameters [0] { + } + } + Function [ function apcu_store ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $var ] + Parameter #2 [ $ttl ] + } + } + Function [ function apcu_fetch ] { + + - Parameters [2] { + Parameter #0 [ $key ] + Parameter #1 [ &$success ] + } + } + Function [ function apcu_delete ] { + + - Parameters [1] { + Parameter #0 [ $keys ] + } + } + Function [ function apcu_add ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $var ] + Parameter #2 [ $ttl ] + } + } + Function [ function apcu_inc ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $step ] + Parameter #2 [ &$success ] + } + } + Function [ function apcu_dec ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $step ] + Parameter #2 [ &$success ] + } + } + Function [ function apcu_cas ] { + + - Parameters [3] { + Parameter #0 [ $key ] + Parameter #1 [ $old ] + Parameter #2 [ $new ] + } + } + Function [ function apcu_exists ] { + + - Parameters [1] { + Parameter #0 [ $keys ] + } + } + } +} + diff --git a/php-pecl-apcu-dev.spec b/php-pecl-apcu-dev.spec deleted file mode 100644 index 716cc62..0000000 --- a/php-pecl-apcu-dev.spec +++ /dev/null @@ -1,446 +0,0 @@ -# remirepo spec file for php-pecl-apcu -# with SCL compatibility, from: -# -# Fedora spec file for php-pecl-apcu -# -# Copyright (c) 2013-2015 Remi Collet -# License: CC-BY-SA -# http://creativecommons.org/licenses/by-sa/4.0/ -# -# 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 -%endif - -%{?scl: %scl_package php-pecl-apcu} -%{!?scl: %global pkg_name %{name}} -%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} -%{!?php_incldir: %global php_incldir %{_includedir}/php} -%{!?__pecl: %global __pecl %{_bindir}/pecl} -%{!?__php: %global __php %{_bindir}/php} - -%global gh_commit 9c361d2627676c910ec0c1a5d13c9031f3143bf9 -%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -%global gh_owner krakjoe -%global gh_project apcu -%global gh_date 20151014 -%global pecl_name apcu -%global with_zts 0%{?__ztsphp:1} -%if "%{php_version}" < "5.6" -%global ini_name %{pecl_name}.ini -%else -%global ini_name 40-%{pecl_name}.ini -%endif - -Name: %{?sub_prefix}php-pecl-apcu -Summary: APC User Cache -Version: 5.0.0 -%if 0%{?gh_date:1} -Release: 0.4.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} -%else -Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} -%endif -Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz -Source1: %{pecl_name}-5.0.0.ini -Source2: %{pecl_name}-panel.conf -Source3: %{pecl_name}.conf.php - -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-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}} - -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 "%{php_version}" < "5.5" -Conflicts: %{?scl_prefix}php-pecl-apc < 4 -%else -Obsoletes: %{?scl_prefix}php-pecl-apc < 4 -%endif -# 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} -# Other third party repo stuff -Obsoletes: php53-pecl-%{pecl_name} <= %{version} -Obsoletes: php53u-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} -%endif -%if "%{php_version}" > "7.0" -Obsoletes: php70u-pecl-%{pecl_name} <= %{version} -Obsoletes: php70w-pecl-%{pecl_name} <= %{version} -%endif -%endif - -%if 0%{?fedora} < 20 && 0%{?rhel} < 7 -# Filter shared private -%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} -%{?filter_setup} -%endif - - -%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. - -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 (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. - -Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. - - -%package devel -Summary: APCu developer files (header) -Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{?scl_prefix}php-devel%{?_isa} -%if "%{php_version}" < "5.5" -Conflicts: %{?scl_prefix}php-pecl-apc-devel < 4 -%else -Obsoletes: %{?scl_prefix}php-pecl-apc-devel < 4 -%endif -Provides: %{?scl_prefix}php-pecl-apc-devel = %{version}-%{release} -Provides: %{?scl_prefix}php-pecl-apc-devel%{?_isa} = %{version}-%{release} - -%description devel -These are the files needed to compile programs using APCu. - - -%if 0%{!?scl:1} -%package -n apcu-panel -Summary: APCu control panel -Group: Applications/Internet -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 -BuildArch: noarch -%endif -Requires: %{name} = %{version}-%{release} -Requires: mod_php -Requires: php-gd -Requires: httpd -%if "%{php_version}" < "5.5" -Conflicts: apc-panel < 4 -%else -Obsoletes: apc-panel < 4 -%endif -Provides: apc-panel = %{version}-%{release} - -%description -n apcu-panel -This package provides the APCu control panel, with Apache -configuration, available on http://localhost/apcu-panel/ -%endif - - -%prep -%setup -qc -mv %{gh_project}-%{gh_commit} NTS -mv NTS/package.xml . - -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}%{?prever}%{?gh_date:-dev}"; then - : Error: Upstream extension version is ${extver}, expecting %{version}%{?prever}%{?gh_date:-dev}. - exit 1 -fi -cd .. - -%if %{with_zts} -# duplicate for ZTS build -cp -pr NTS ZTS -%endif - -# Fix path to configuration file -sed -e s:apc.conf.php:%{_sysconfdir}/apcu-panel/conf.php:g \ - -i NTS/apc.php - - -%build -cd NTS -%{_bindir}/phpize -%configure \ - --enable-apcu-bc \ - --with-php-config=%{_bindir}/php-config -make %{?_smp_mflags} - -%if %{with_zts} -cd ../ZTS -%{_bindir}/zts-phpize -%configure \ - --enable-apcu-bc \ - --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} - -%if %{with_zts} -# Install the ZTS stuff -make -C ZTS install INSTALL_ROOT=%{buildroot} -install -D -m 644 %{SOURCE1} %{buildroot}%{php_ztsinidir}/%{ini_name} -%endif - -# Install the package XML file -install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml - -%if 0%{!?scl:1} -# Install the Control Panel -# Pages -install -D -m 644 -p NTS/apc.php \ - %{buildroot}%{_datadir}/apcu-panel/index.php -# Apache config -install -D -m 644 -p %{SOURCE2} \ - %{buildroot}%{_sysconfdir}/httpd/conf.d/apcu-panel.conf -# Panel config -install -D -m 644 -p %{SOURCE3} \ - %{buildroot}%{_sysconfdir}/apcu-panel/conf.php -%endif - - -# Test & Documentation -cd NTS -for i in $(grep 'role="test"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') -do [ -f $i ] && install -Dpm 644 $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 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i -done - - -%check -cd NTS -# Check than both extensions are reported (BC mode) -%{_bindir}/php -n \ - -d extension=%{buildroot}%{php_extdir}/apcu.so \ - -m | grep 'apcu' -%{_bindir}/php -n \ - -d extension=%{buildroot}%{php_extdir}/apcu.so \ - -d extension=%{buildroot}%{php_extdir}/apc.so \ - -m | grep 'apc$' - -# 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" \ -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}/apcu.so \ - -m | grep 'apcu' -%{__ztsphp} -n \ - -d extension=%{buildroot}%{php_ztsextdir}/apcu.so \ - -d extension=%{buildroot}%{php_ztsextdir}/apc.so \ - -m | grep 'apc$' - -# 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 --show-diff -%endif - - -%clean -rm -rf %{buildroot} - - -# when pear installed alone, after us -%triggerin -- %{?scl_prefix}php-pear -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -# posttrans as pear can be installed after us -%posttrans -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -%postun -if [ $1 -eq 0 -a -x %{__pecl} ] ; then - %{pecl_uninstall} %{pecl_name} >/dev/null || : -fi - - -%files -%defattr(-,root,root,-) -%{?_licensedir:%license NTS/LICENSE} -%doc %{pecl_docdir}/%{pecl_name} -%{pecl_xmldir}/%{name}.xml - -%config(noreplace) %{php_inidir}/%{ini_name} -%{php_extdir}/apc.so -%{php_extdir}/apcu.so - -%if %{with_zts} -%config(noreplace) %{php_ztsinidir}/%{ini_name} -%{php_ztsextdir}/apc.so -%{php_ztsextdir}/apcu.so -%endif - - -%files devel -%defattr(-,root,root,-) -%doc %{pecl_testdir}/%{pecl_name} -%{php_incldir}/ext/%{pecl_name} - -%if %{with_zts} -%{php_ztsincldir}/ext/%{pecl_name} -%endif - - -%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 -%config(noreplace) %{_sysconfdir}/httpd/conf.d/apcu-panel.conf -%{_datadir}/apcu-panel -%endif - - -%changelog -* 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 - -* Mon Sep 21 2015 Remi Collet - 5.0.0-0.2.20150921gitea10226 -- new snapshot - -* 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 -- allow build against rh-php56 (as more-php56) - -* Tue Jun 9 2015 Remi Collet - 4.0.7-2 -- upstream fix for the control panel -- drop runtime dependency on pear, new scriptlets - -* Wed Dec 24 2014 Remi Collet - 4.0.7-1.1 -- Fedora 21 SCL mass rebuild - -* Sat Oct 11 2014 Remi Collet - 4.0.7-1 -- Update to 4.0.7 - -* Sun Aug 24 2014 Remi Collet - 4.0.6-2 -- improve SCL stuff - -* Thu Jun 12 2014 Remi Collet - 4.0.6-1 -- Update to 4.0.6 (beta) - -* Wed Jun 11 2014 Remi Collet - 4.0.5-1 -- Update to 4.0.5 (beta) -- open https://github.com/krakjoe/apcu/pull/74 (PHP 5.4) - -* Sun Jun 8 2014 Remi Collet - 4.0.4-3 -- add build patch for php 5.6.0beta4 - -* Wed Apr 9 2014 Remi Collet - 4.0.4-2 -- add numerical prefix to extension configuration file - -* Sat Mar 01 2014 Remi Collet - 4.0.4-1 -- Update to 4.0.4 (beta) - -* Mon Jan 27 2014 Remi Collet - 4.0.3-1 -- Update to 4.0.3 (beta) -- install doc in pecl doc_dir -- install tests in pecl test_dir (in devel) -- drop panel sub-package in SCL -- add SCL stuff - -* Mon Sep 16 2013 Remi Collet - 4.0.2-2 -- fix perm on config dir -- always provides php-pecl-apc-devel and apc-panel - -* Mon Sep 16 2013 Remi Collet - 4.0.2-1 -- Update to 4.0.2 - -* Fri Aug 30 2013 Remi Collet - 4.0.1-3 -- rebuild to have NEVR > EPEL (or Fedora) - -* Thu Jul 4 2013 Remi Collet - 4.0.1-2 -- obsoletes APC with php 5.5 -- restore APC serializers ABI (patch merged upstream) - -* Tue Apr 30 2013 Remi Collet - 4.0.1-1 -- Update to 4.0.1 -- add missing scriptlet -- fix Conflicts - -* Thu Apr 25 2013 Remi Collet - 4.0.0-2 -- fix segfault when used from command line - -* Wed Mar 27 2013 Remi Collet - 4.0.0-1 -- first pecl release -- rename from php-apcu to php-pecl-apcu - -* Tue Mar 26 2013 Remi Collet - 4.0.0-0.4.git4322fad -- new snapshot (test before release) - -* Mon Mar 25 2013 Remi Collet - 4.0.0-0.3.git647cb2b -- new snapshot with our pull request -- allow to run test suite simultaneously on 32/64 arch -- build warning free - -* Mon Mar 25 2013 Remi Collet - 4.0.0-0.2.git6d20302 -- new snapshot with full APC compatibility - -* Sat Mar 23 2013 Remi Collet - 4.0.0-0.1.git44e8dd4 -- initial package, version 4.0.0 \ No newline at end of file diff --git a/php-pecl-apcu-php7.spec b/php-pecl-apcu-php7.spec new file mode 100644 index 0000000..c7787b9 --- /dev/null +++ b/php-pecl-apcu-php7.spec @@ -0,0 +1,445 @@ +# remirepo spec file for php-pecl-apcu +# with SCL compatibility, from: +# +# Fedora spec file for php-pecl-apcu +# +# Copyright (c) 2013-2015 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# 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 +%endif + +%{?scl: %scl_package php-pecl-apcu} +%{!?scl: %global pkg_name %{name}} +%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} +%{!?php_incldir: %global php_incldir %{_includedir}/php} +%{!?__pecl: %global __pecl %{_bindir}/pecl} +%{!?__php: %global __php %{_bindir}/php} + +%global gh_commit e032e7b207cb7ac22fbfb0ece02e9c04e273a13e +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner krakjoe +%global gh_project apcu +%global gh_date 20151106 +%global pecl_name apcu +%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} +%if "%{php_version}" < "5.6" +%global ini_name %{pecl_name}.ini +%else +%global ini_name 40-%{pecl_name}.ini +%endif + +Name: %{?sub_prefix}php-pecl-apcu +Summary: APC User Cache +Version: 5.0.0 +%if 0%{?gh_date:1} +Release: 0.5.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +%else +Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +%endif +Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz +Source1: %{pecl_name}-5.0.0.ini +Source2: %{pecl_name}-panel.conf +Source3: %{pecl_name}.conf.php + +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-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}} + +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} +# Same provides than APC, this is a drop in replacement +Obsoletes: %{?scl_prefix}php-pecl-apc < 4 +Provides: %{?scl_prefix}php-apc = %{version} +Provides: %{?scl_prefix}php-apc%{?_isa} = %{version} +Provides: %{?scl_prefix}php-pecl-apc = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl-apc%{?_isa} = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl(APC) = %{version} +Provides: %{?scl_prefix}php-pecl(APC)%{?_isa} = %{version} +# For "more" SCL +Provides: %{?scl_prefix}php-pecl-apcu = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl-apcu%{?_isa} = %{version}-%{release} + +%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} +# Other third party repo stuff +Obsoletes: php53-pecl-%{pecl_name} <= %{version} +Obsoletes: php53-pecl-apc <= %{version} +Obsoletes: php53u-pecl-%{pecl_name} <= %{version} +Obsoletes: php53u-pecl-apc <= %{version} +Obsoletes: php54-pecl-%{pecl_name} <= %{version} +Obsoletes: php54-pecl-apc <= %{version} +Obsoletes: php54w-pecl-%{pecl_name} <= %{version} +Obsoletes: php54w-pecl-apc <= %{version} +Obsoletes: php55u-pecl-%{pecl_name} <= %{version} +Obsoletes: php55w-pecl-%{pecl_name} <= %{version} +Obsoletes: php56u-pecl-%{pecl_name} <= %{version} +Obsoletes: php56w-pecl-%{pecl_name} <= %{version} +%if "%{php_version}" > "7.0" +Obsoletes: php70u-pecl-%{pecl_name} <= %{version} +Obsoletes: php70w-pecl-%{pecl_name} <= %{version} +%endif +%endif + +%if 0%{?fedora} < 20 && 0%{?rhel} < 7 +# Filter shared private +%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} +%{?filter_setup} +%endif + + +%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. + +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 (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. + +Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. + + +%package devel +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} +# For "more" SCL +Provides: %{?scl_prefix}php-pecl-apcu-devel = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl-apcu-devel%{?_isa} = %{version}-%{release} + +%description devel +These are the files needed to compile programs using APCu. + + +%if 0%{!?scl:1} +%package -n apcu-panel +Summary: APCu control panel +Group: Applications/Internet +%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 +BuildArch: noarch +%endif +Requires: %{name} = %{version}-%{release} +Requires: mod_php +Requires: php-gd +Requires: httpd + +Obsoletes: apc-panel < 4 +Provides: apc-panel = %{version}-%{release} + +%description -n apcu-panel +This package provides the APCu control panel, with Apache +configuration, available on http://localhost/apcu-panel/ +%endif + + +%prep +%setup -qc +mv %{gh_project}-%{gh_commit} NTS +mv NTS/package.xml . + +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}%{?prever}%{?gh_date:-dev}"; then + : Error: Upstream extension version is ${extver}, expecting %{version}%{?prever}%{?gh_date:-dev}. + exit 1 +fi +cd .. + +%if %{with_zts} +# duplicate for ZTS build +cp -pr NTS ZTS +%endif + +# Fix path to configuration file +sed -e s:apc.conf.php:%{_sysconfdir}/apcu-panel/conf.php:g \ + -i NTS/apc.php + + +%build +cd NTS +%{_bindir}/phpize +%configure \ + --enable-apcu-bc \ + --with-php-config=%{_bindir}/php-config +make %{?_smp_mflags} + +%if %{with_zts} +cd ../ZTS +%{_bindir}/zts-phpize +%configure \ + --enable-apcu-bc \ + --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} + +%if %{with_zts} +# Install the ZTS stuff +make -C ZTS install INSTALL_ROOT=%{buildroot} +install -D -m 644 %{SOURCE1} %{buildroot}%{php_ztsinidir}/%{ini_name} +%endif + +# Install the package XML file +install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + +%if 0%{!?scl:1} +# Install the Control Panel +# Pages +install -D -m 644 -p NTS/apc.php \ + %{buildroot}%{_datadir}/apcu-panel/index.php +# Apache config +install -D -m 644 -p %{SOURCE2} \ + %{buildroot}%{_sysconfdir}/httpd/conf.d/apcu-panel.conf +# Panel config +install -D -m 644 -p %{SOURCE3} \ + %{buildroot}%{_sysconfdir}/apcu-panel/conf.php +%endif + + +# Test & Documentation +cd NTS +for i in $(grep 'role="test"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') +do [ -f $i ] && install -Dpm 644 $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 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +done + + +%check +cd NTS +# Check than both extensions are reported (BC mode) +%{_bindir}/php -n \ + -d extension=%{buildroot}%{php_extdir}/apcu.so \ + -m | grep 'apcu' +%{_bindir}/php -n \ + -d extension=%{buildroot}%{php_extdir}/apcu.so \ + -d extension=%{buildroot}%{php_extdir}/apc.so \ + -m | grep 'apc$' + +# 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" \ +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}/apcu.so \ + -m | grep 'apcu' +%{__ztsphp} -n \ + -d extension=%{buildroot}%{php_ztsextdir}/apcu.so \ + -d extension=%{buildroot}%{php_ztsextdir}/apc.so \ + -m | grep 'apc$' + +# 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 --show-diff +%endif + + +%clean +rm -rf %{buildroot} + + +# when pear installed alone, after us +%triggerin -- %{?scl_prefix}php-pear +if [ -x %{__pecl} ] ; then + %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : +fi + +# posttrans as pear can be installed after us +%posttrans +if [ -x %{__pecl} ] ; then + %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : +fi + +%postun +if [ $1 -eq 0 -a -x %{__pecl} ] ; then + %{pecl_uninstall} %{pecl_name} >/dev/null || : +fi + + +%files +%defattr(-,root,root,-) +%{?_licensedir:%license NTS/LICENSE} +%doc %{pecl_docdir}/%{pecl_name} +%{pecl_xmldir}/%{name}.xml + +%config(noreplace) %{php_inidir}/%{ini_name} +%{php_extdir}/apc.so +%{php_extdir}/apcu.so + +%if %{with_zts} +%config(noreplace) %{php_ztsinidir}/%{ini_name} +%{php_ztsextdir}/apc.so +%{php_ztsextdir}/apcu.so +%endif + + +%files devel +%defattr(-,root,root,-) +%doc %{pecl_testdir}/%{pecl_name} +%{php_incldir}/ext/%{pecl_name} + +%if %{with_zts} +%{php_ztsincldir}/ext/%{pecl_name} +%endif + + +%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 +%config(noreplace) %{_sysconfdir}/httpd/conf.d/apcu-panel.conf +%{_datadir}/apcu-panel +%endif + + +%changelog +* 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 + +* Mon Sep 21 2015 Remi Collet - 5.0.0-0.2.20150921gitea10226 +- new snapshot + +* 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 +- allow build against rh-php56 (as more-php56) + +* Tue Jun 9 2015 Remi Collet - 4.0.7-2 +- upstream fix for the control panel +- drop runtime dependency on pear, new scriptlets + +* Wed Dec 24 2014 Remi Collet - 4.0.7-1.1 +- Fedora 21 SCL mass rebuild + +* Sat Oct 11 2014 Remi Collet - 4.0.7-1 +- Update to 4.0.7 + +* Sun Aug 24 2014 Remi Collet - 4.0.6-2 +- improve SCL stuff + +* Thu Jun 12 2014 Remi Collet - 4.0.6-1 +- Update to 4.0.6 (beta) + +* Wed Jun 11 2014 Remi Collet - 4.0.5-1 +- Update to 4.0.5 (beta) +- open https://github.com/krakjoe/apcu/pull/74 (PHP 5.4) + +* Sun Jun 8 2014 Remi Collet - 4.0.4-3 +- add build patch for php 5.6.0beta4 + +* Wed Apr 9 2014 Remi Collet - 4.0.4-2 +- add numerical prefix to extension configuration file + +* Sat Mar 01 2014 Remi Collet - 4.0.4-1 +- Update to 4.0.4 (beta) + +* Mon Jan 27 2014 Remi Collet - 4.0.3-1 +- Update to 4.0.3 (beta) +- install doc in pecl doc_dir +- install tests in pecl test_dir (in devel) +- drop panel sub-package in SCL +- add SCL stuff + +* Mon Sep 16 2013 Remi Collet - 4.0.2-2 +- fix perm on config dir +- always provides php-pecl-apc-devel and apc-panel + +* Mon Sep 16 2013 Remi Collet - 4.0.2-1 +- Update to 4.0.2 + +* Fri Aug 30 2013 Remi Collet - 4.0.1-3 +- rebuild to have NEVR > EPEL (or Fedora) + +* Thu Jul 4 2013 Remi Collet - 4.0.1-2 +- obsoletes APC with php 5.5 +- restore APC serializers ABI (patch merged upstream) + +* Tue Apr 30 2013 Remi Collet - 4.0.1-1 +- Update to 4.0.1 +- add missing scriptlet +- fix Conflicts + +* Thu Apr 25 2013 Remi Collet - 4.0.0-2 +- fix segfault when used from command line + +* Wed Mar 27 2013 Remi Collet - 4.0.0-1 +- first pecl release +- rename from php-apcu to php-pecl-apcu + +* Tue Mar 26 2013 Remi Collet - 4.0.0-0.4.git4322fad +- new snapshot (test before release) + +* Mon Mar 25 2013 Remi Collet - 4.0.0-0.3.git647cb2b +- new snapshot with our pull request +- allow to run test suite simultaneously on 32/64 arch +- build warning free + +* Mon Mar 25 2013 Remi Collet - 4.0.0-0.2.git6d20302 +- new snapshot with full APC compatibility + +* Sat Mar 23 2013 Remi Collet - 4.0.0-0.1.git44e8dd4 +- initial package, version 4.0.0 \ No newline at end of file -- cgit