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 %define commit e702b5f91
9 %include /usr/lib/rpm/macros.php
10 Summary: %{modname} - a memcached extension
11 Summary(pl.UTF-8): %{modname} - rozszerzenie memcached
12 Name: %{php_name}-pecl-%{modname}
16 Group: Development/Languages/PHP
17 Source0: https://github.com/websupport-sk/pecl-memcache/archive/%{version}/%{modname}-%{version}.tar.gz
18 # Source0-md5: 21a001ef690a1397a8b62990254cc8c2
19 Source1: %{modname}.ini
20 Source2: %{modname}-apache.conf
21 Source3: %{modname}-lighttpd.conf
23 Patch0: %{modname}-webapp.patch
24 URL: https://github.com/websupport-sk/pecl-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}-pcre
33 BuildRequires: %{php_name}-session
34 BuildRequires: %{php_name}-spl
35 BuildRequires: memcached
37 %{?requires_php_extension}
38 Requires: %{php_name}-session
39 Requires: %{php_name}-zlib
41 Provides: php(memcache) = %{version}
42 Obsoletes: php-pecl-memcache < 3.0.8-5
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 %define _webapps /etc/webapps
46 %define _webapp %{modname}
47 %define _sysconfdir %{_webapps}/%{_webapp}
48 %define _appdir %{_datadir}/%{_webapp}
51 %define _noautopear pear
53 # put it together for rpmbuild
54 %define _noautoreq %{?_noautophp} %{?_noautopear}
57 Memcached is a caching daemon designed especially for dynamic web
58 applications to decrease database load by storing objects in memory.
60 This extension allows you to work with memcached through handy OO and
61 procedural interfaces.
63 %description -l pl.UTF-8
64 Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
65 daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
66 przez przechowywanie w pamięci obiektów.
68 To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
69 zorientowanego obiektowo (oraz przez procedury) interfejsu.
72 Summary: Web interface for memcache
74 # does not require extension itself
75 Requires: php(core) >= %{php_min_version}
80 Requires: webserver(php) >= 5.0
81 %if "%{_rpmversion}" >= "5"
86 Via this web interface script you can manage and view statistics of
91 mv pecl-%{modname}-*/{.??*,*} .
98 t=$(echo "$s" | sed -rne 's/.+\[(.+)\]/\1/p')
114 packagexml2cl package.xml > ChangeLog
121 # simple module load test
123 -d extension_dir=modules \
124 -d extension=%{php_extensiondir}/pcre.so \
125 -d extension=%{php_extensiondir}/spl.so \
126 -d extension=%{php_extensiondir}/session.so \
127 -d extension=%{modname}.so \
129 grep %{modname} modules.log
131 cat <<'EOF' > run-tests.sh
133 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
134 exec %{__make} test \
135 PHP_EXECUTABLE=%{__php} \
136 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre spl session" \
137 RUN_TESTS_SETTINGS="-q $*"
139 chmod +x run-tests.sh
141 # Launch the Memcached service and stop it on exit
142 %{_sbindir}/memcached -p 11211 -U 11211 -d -P $PWD/memcached.pid
143 trap 'kill $(cat memcached.pid)' EXIT INT
149 rm -rf $RPM_BUILD_ROOT
150 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
151 install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
152 # we use "session_" prefix in inifile to get loader *after* session extension
153 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
154 cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
156 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
157 cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
158 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
159 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
160 cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
161 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
164 rm -rf $RPM_BUILD_ROOT
167 %php_webserver_restart
170 if [ "$1" = 0 ]; then
171 %php_webserver_restart
174 %triggerpostun -- %{name} < 3.0.4-2
175 if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
176 echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
177 cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
178 mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
179 %php_webserver_restart
182 %triggerin web -- apache1 < 1.3.37-3, apache1-base
183 %webapp_register apache %{_webapp}
185 %triggerun web -- apache1 < 1.3.37-3, apache1-base
186 %webapp_unregister apache %{_webapp}
188 %triggerin web -- apache < 2.2.0, apache-base
189 %webapp_register httpd %{_webapp}
191 %triggerun web -- apache < 2.2.0, apache-base
192 %webapp_unregister httpd %{_webapp}
194 %triggerin web -- lighttpd
195 %webapp_register lighttpd %{_webapp}
197 %triggerun web -- lighttpd
198 %webapp_unregister lighttpd %{_webapp}
201 %defattr(644,root,root,755)
202 %doc CREDITS README ChangeLog
203 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
204 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
205 %{_examplesdir}/%{name}-%{version}
208 %defattr(644,root,root,755)
209 %dir %attr(750,root,http) %{_sysconfdir}
210 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
211 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
212 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
213 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php