From 44667e3131c27cee2085049e57580f2dea728add Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 27 Mar 2013 06:14:02 +0100 Subject: rename php-apcu to php-pecl-apcu --- php-pecl-apcu.spec | 206 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 php-pecl-apcu.spec (limited to 'php-pecl-apcu.spec') diff --git a/php-pecl-apcu.spec b/php-pecl-apcu.spec new file mode 100644 index 0000000..f5acc91 --- /dev/null +++ b/php-pecl-apcu.spec @@ -0,0 +1,206 @@ +%{!?php_inidir: %{expand: %%global php_inidir %{_sysconfdir}/php.d}} +%{!?php_incldir: %{expand: %%global php_incldir %{_includedir}/php}} +%global pecl_name apcu +%global commit 4322fad60f018f10f533ac4946799ef4e3dbd0fd +%global gitver %(c=%{commit}; echo ${c:0:7}) +%global with_zts 0%{?__ztsphp:1} + +Name: php-apcu +Summary: Shared memory user data cache for PHP +Version: 4.0.0 +Release: 0.4%{?gitver:.git%{gitver}}%{?dist} +Source0: https://github.com/krakjoe/%{pecl_name}/archive/%{commit}/%{pecl_name}-%{version}-%{gitver}.tar.gz +Source1: %{pecl_name}.ini +Source2: %{pecl_name}-panel.conf +Source3: %{pecl_name}.conf.php + +License: PHP +Group: Development/Languages +URL: https://github.com/krakjoe/yac + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: php-devel + +# Should be a drop in replacement for APC, will Obsolete it in the future +Conflicts: php-pecl-apc +# Same provides than APC, this is a drop in replacement +Provides: php-apc = %{version} +Provides: php-apc%{?_isa} = %{version} +Provides: php-pecl-apc = %{version} +Provides: php-pecl-apc%{?_isa} = %{version} +Provides: php-pecl(APC) = %{version} +Provides: php-pecl(APC)%{?_isa} = %{version} + +# Filter private shared +%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} +%{?filter_setup} + + +%description +APCu is userland caching: APC stripped of opcode caching in preparation +for the deployment of Zend Optimizer+ 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 devel +Summary: APCu developer files (header) +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: php-devel%{?_isa} + +%description devel +These are the files needed to compile programs using APCu. + + +%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, httpd, php-gd + +%description -n apcu-panel +This package provides the APCu control panel, with Apache +configuration, available on http://localhost/apcu-panel/ + + +%prep +%setup -qc +mv %{pecl_name}-%{commit} NTS + +%if %{with_zts} +# duplicate for ZTS build +cp -pr NTS ZTS +%endif + + +%build +cd NTS +%{_bindir}/phpize +%configure --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 +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}/%{pecl_name}.ini + +# Install the ZTS stuff +%if %{with_zts} +make -C ZTS install INSTALL_ROOT=%{buildroot} +install -D -m 644 %{SOURCE1} %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini +%endif + +# Install the Control Panel +# Pages +install -d -m 755 %{buildroot}%{_datadir}/apcu-panel +sed -e s:apc.conf.php:%{_sysconfdir}/apcu-panel/conf.php:g \ + 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 + + +%check +cd NTS + +# Check than both extensions are reported (BC mode) +%{_bindir}/php -n -d extension_dir=modules -d extension=apcu.so -m | grep 'apcu' +%{_bindir}/php -n -d extension_dir=modules -d extension=apcu.so -m | grep 'apc$' + +# Upstream test suite +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 + +%if %{with_zts} +cd ../ZTS + +%{__ztsphp} -n -d extension_dir=modules -d extension=apcu.so -m | grep 'apcu' +%{__ztsphp} -n -d extension_dir=modules -d extension=apcu.so -m | grep 'apc$' + +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 +%endif + + +%clean +rm -rf %{buildroot} + + +%files +%defattr(-, root, root, 0755) +%doc NTS/{NOTICE,LICENSE,README.md} + +%config(noreplace) %{php_inidir}/%{pecl_name}.ini +%{php_extdir}/%{pecl_name}.so + +%if %{with_zts} +%{php_ztsextdir}/%{pecl_name}.so +%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini +%endif + +%files devel +%defattr(-,root,root,-) +%{php_incldir}/ext/%{pecl_name} +%if %{with_zts} +%{php_ztsincldir}/ext/%{pecl_name} +%endif + +%files -n apcu-panel +%defattr(-,root,root,-) +# Need to restrict access, as it contains a clear password +%attr(750,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 + + +%changelog +* 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 -- cgit