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
34 %{?requires_php_extension}
35 Requires: %{php_name}-session
36 Requires: %{php_name}-zlib
38 Provides: php(memcache) = %{version}
39 Obsoletes: php-pecl-memcache < 3.0.8-5
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42 %define _webapps /etc/webapps
43 %define _webapp %{modname}
44 %define _sysconfdir %{_webapps}/%{_webapp}
45 %define _appdir %{_datadir}/%{_webapp}
48 %define _noautopear pear
50 # put it together for rpmbuild
51 %define _noautoreq %{?_noautophp} %{?_noautopear}
54 Memcached is a caching daemon designed especially for dynamic web
55 applications to decrease database load by storing objects in memory.
57 This extension allows you to work with memcached through handy OO and
58 procedural interfaces.
60 %description -l pl.UTF-8
61 Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
62 daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
63 przez przechowywanie w pamięci obiektów.
65 To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
66 zorientowanego obiektowo (oraz przez procedury) interfejsu.
69 Summary: Web interface for memcache
71 # does not require extension itself
72 Requires: php(core) >= %{php_min_version}
77 Requires: webserver(php) >= 5.0
78 %if "%{_rpmversion}" >= "5"
83 Via this web interface script you can manage and view statistics of
88 mv pecl-%{modname}-*/{.??*,*} .
92 packagexml2cl package.xml > ChangeLog
99 # simple module load test
101 -d extension_dir=modules \
102 -d extension=%{php_extensiondir}/session.so \
103 -d extension=%{modname}.so \
105 grep %{modname} modules.log
107 cat <<'EOF' > run-tests.sh
109 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
110 exec %{__make} test \
111 PHP_EXECUTABLE=%{__php} \
112 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="session" \
113 RUN_TESTS_SETTINGS="-q $*"
115 chmod +x run-tests.sh
121 rm -rf $RPM_BUILD_ROOT
122 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
123 install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
124 # we use "session_" prefix in inifile to get loader *after* session extension
125 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
126 cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
128 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
129 cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
130 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
131 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
132 cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
133 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
136 rm -rf $RPM_BUILD_ROOT
139 %php_webserver_restart
142 if [ "$1" = 0 ]; then
143 %php_webserver_restart
146 %triggerpostun -- %{name} < 3.0.4-2
147 if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
148 echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
149 cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
150 mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
151 %php_webserver_restart
154 %triggerin web -- apache1 < 1.3.37-3, apache1-base
155 %webapp_register apache %{_webapp}
157 %triggerun web -- apache1 < 1.3.37-3, apache1-base
158 %webapp_unregister apache %{_webapp}
160 %triggerin web -- apache < 2.2.0, apache-base
161 %webapp_register httpd %{_webapp}
163 %triggerun web -- apache < 2.2.0, apache-base
164 %webapp_unregister httpd %{_webapp}
166 %triggerin web -- lighttpd
167 %webapp_register lighttpd %{_webapp}
169 %triggerun web -- lighttpd
170 %webapp_unregister lighttpd %{_webapp}
173 %defattr(644,root,root,755)
174 %doc CREDITS README ChangeLog
175 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
176 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
177 %{_examplesdir}/%{name}-%{version}
180 %defattr(644,root,root,755)
181 %dir %attr(750,root,http) %{_sysconfdir}
182 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
183 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
184 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
185 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php