3 %bcond_without tests # build without tests
5 %define php_name php%{?php_suffix}
6 %define modname memcache
7 %define php_min_version 5.0.0
8 %include /usr/lib/rpm/macros.php
9 Summary: %{modname} - a memcached extension
10 Summary(pl.UTF-8): %{modname} - rozszerzenie memcached
11 Name: %{php_name}-pecl-%{modname}
15 Group: Development/Languages/PHP
16 #Source0: http://pecl.php.net/get/%{modname}-%{version}.tgz
17 Source0: https://github.com/websupport-sk/pecl-memcache/archive/NON_BLOCKING_IO_php7.tar.gz
18 # Source0-md5: 7751d8191302a726449d7c6506b8783d
19 Source1: %{modname}.ini
20 Source2: %{modname}-apache.conf
21 Source3: %{modname}-lighttpd.conf
23 Patch0: %{modname}-webapp.patch
24 URL: http://pecl.php.net/package/memcache/
25 BuildRequires: %{php_name}-devel >= 3:5.0.0
26 BuildRequires: %{php_name}-xml
27 BuildRequires: php-packagexml2cl
28 BuildRequires: rpm-php-pearprov >= 4.4.2-11
29 BuildRequires: rpmbuild(macros) >= 1.650
31 BuildRequires: %{php_name}-cli
32 BuildRequires: %{php_name}-session
33 BuildRequires: %{php_name}-spl
35 %{?requires_php_extension}
36 Requires: %{php_name}-session
37 Requires: %{php_name}-zlib
39 Provides: php(memcache) = %{version}
40 Obsoletes: php-pecl-memcache < 3.0.8-5
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 %define _webapps /etc/webapps
44 %define _webapp %{modname}
45 %define _sysconfdir %{_webapps}/%{_webapp}
46 %define _appdir %{_datadir}/%{_webapp}
49 %define _noautopear pear
51 # put it together for rpmbuild
52 %define _noautoreq %{?_noautophp} %{?_noautopear}
55 Memcached is a caching daemon designed especially for dynamic web
56 applications to decrease database load by storing objects in memory.
58 This extension allows you to work with memcached through handy OO and
59 procedural interfaces.
61 %description -l pl.UTF-8
62 Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
63 daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
64 przez przechowywanie w pamięci obiektów.
66 To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
67 zorientowanego obiektowo (oraz przez procedury) interfejsu.
70 Summary: Web interface for memcache
72 # does not require extension itself
73 Requires: php(core) >= %{php_min_version}
78 Requires: webserver(php) >= 5.0
79 %if "%{_rpmversion}" >= "5"
84 Via this web interface script you can manage and view statistics of
89 mv pecl-%{modname}-*/{.??*,*} .
93 packagexml2cl package.xml > ChangeLog
100 # simple module load test
102 -d extension_dir=modules \
103 -d extension=%{php_extensiondir}/spl.so \
104 -d extension=%{php_extensiondir}/session.so \
105 -d extension=%{modname}.so \
107 grep %{modname} modules.log
109 cat <<'EOF' > run-tests.sh
111 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
112 exec %{__make} test \
113 PHP_EXECUTABLE=%{__php} \
114 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="spl session" \
115 RUN_TESTS_SETTINGS="-q $*"
117 chmod +x run-tests.sh
123 rm -rf $RPM_BUILD_ROOT
124 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
125 install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
126 # we use "session_" prefix in inifile to get loader *after* session extension
127 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
128 cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
130 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
131 cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
132 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
133 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
134 cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
135 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
138 rm -rf $RPM_BUILD_ROOT
141 %php_webserver_restart
144 if [ "$1" = 0 ]; then
145 %php_webserver_restart
148 %triggerpostun -- %{name} < 3.0.4-2
149 if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
150 echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
151 cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
152 mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
153 %php_webserver_restart
156 %triggerin web -- apache1 < 1.3.37-3, apache1-base
157 %webapp_register apache %{_webapp}
159 %triggerun web -- apache1 < 1.3.37-3, apache1-base
160 %webapp_unregister apache %{_webapp}
162 %triggerin web -- apache < 2.2.0, apache-base
163 %webapp_register httpd %{_webapp}
165 %triggerun web -- apache < 2.2.0, apache-base
166 %webapp_unregister httpd %{_webapp}
168 %triggerin web -- lighttpd
169 %webapp_register lighttpd %{_webapp}
171 %triggerun web -- lighttpd
172 %webapp_unregister lighttpd %{_webapp}
175 %defattr(644,root,root,755)
176 %doc CREDITS README ChangeLog
177 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
178 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
179 %{_examplesdir}/%{name}-%{version}
182 %defattr(644,root,root,755)
183 %dir %attr(750,root,http) %{_sysconfdir}
184 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
185 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
186 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
187 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php