3 %bcond_without web # make web package
4 %bcond_without tests # build without tests
6 # on builders, build "web" only under php70
7 %if 0%{?_pld_builder:1} && "%{?php_suffix}" != "70"
11 %define php_name php%{?php_suffix}
13 Summary: APCu - APC User Cache
14 Name: %{php_name}-pecl-%{modname}
18 Group: Development/Languages/PHP
19 Source0: https://pecl.php.net/get/%{modname}-%{version}.tgz
20 # Source0-md5: 0ef8be2ee8acb4dba5a66b247a254995
21 Source1: %{modname}.ini
25 URL: https://pecl.php.net/package/APCu/
26 BuildRequires: %{php_name}-devel >= 4:7.0.0
27 BuildRequires: %{php_name}-cli
28 BuildRequires: libtool
29 BuildRequires: rpmbuild(macros) >= 1.666
31 BuildRequires: %{php_name}-pcre
33 %{?requires_php_extension}
34 Provides: php(apcu) = %{version}
35 Obsoletes: php-pecl-apcu < 4.0.4-2
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38 %define _webapps /etc/webapps
39 %define _webapp %{modname}
40 %define _sysconfdir %{_webapps}/%{_webapp}
41 %define _appdir %{_datadir}/%{_webapp}
44 APCu is userland caching: APC stripped of opcode caching in
45 preparation for the deployment of Zend Optimizer+ as the primary
46 solution to opcode caching in future versions of PHP.
48 APCu only supports userland caching (and dumping) of variables,
49 providing an upgrade path for the future. When O+ takes over, many
50 will be tempted to use 3rd party solutions to userland caching,
51 possibly even distributed solutions; this would be a grave error. The
52 tried and tested APC codebase provides far superior support for local
53 storage of PHP variables.
56 Summary: APCu developer files (header)
57 Group: Development/Libraries
58 Requires: %{php_name}-devel
59 # does not require base
62 These are the files needed to compile programs using Igbinary
64 %package -n apcu-panel
65 Summary: APCu control panel
66 Group: Applications/Networking
67 Requires: php(apcu) = %{version}
70 Requires: webserver(access)
71 Requires: webserver(php) >= 5.0
74 %description -n apcu-panel
75 This package provides the APCu control panel, with Webserver
76 configuration, available on <http://localhost/apcu-panel/>
80 mv %{modname}-%{version}/* .
84 cat <<'EOF' > run-tests.sh
86 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
88 PHP_EXECUTABLE=%{__php} \
89 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre" \
90 RUN_TESTS_SETTINGS="-q $*"
98 --%{!?debug:dis}%{?debug:en}able-apcu-debug \
99 --enable-apcu-spinlocks \
103 # simple module load test
105 -d extension_dir=modules \
106 -d extension=%{php_extensiondir}/spl.so \
107 -d extension=%{modname}.so \
109 grep %{modname} modules.log
112 ./run-tests.sh --show-diff
116 rm -rf $RPM_BUILD_ROOT
118 EXTENSION_DIR=%{php_extensiondir} \
119 INSTALL_ROOT=$RPM_BUILD_ROOT
121 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
122 cp -p %{modname}.ini $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
124 # Install the Control Panel
126 install -d $RPM_BUILD_ROOT{%{_appdir},%{_sysconfdir}}
127 cp -p apc.php $RPM_BUILD_ROOT%{_appdir}/index.php
128 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
129 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
130 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
134 rm -rf $RPM_BUILD_ROOT
137 %php_webserver_restart
140 if [ "$1" = 0 ]; then
141 %php_webserver_restart
144 %triggerin -n apcu-panel -- apache1 < 1.3.37-3, apache1-base
145 %webapp_register apache %{_webapp}
147 %triggerun -n apcu-panel -- apache1 < 1.3.37-3, apache1-base
148 %webapp_unregister apache %{_webapp}
150 %triggerin -n apcu-panel -- apache < 2.2.0, apache-base
151 %webapp_register httpd %{_webapp}
153 %triggerun -n apcu-panel -- apache < 2.2.0, apache-base
154 %webapp_unregister httpd %{_webapp}
157 %defattr(644,root,root,755)
158 %doc README.md NOTICE TECHNOTES.txt TODO INSTALL LICENSE
159 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
160 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
163 %defattr(644,root,root,755)
164 %{_includedir}/php/ext/%{modname}
168 %defattr(644,root,root,755)
169 %dir %attr(750,root,http) %{_sysconfdir}
170 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
171 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
172 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php