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
25 URL: http://pecl.php.net/package/memcache/
26 BuildRequires: %{php_name}-devel >= 3:5.0.0
27 BuildRequires: %{php_name}-xml
28 BuildRequires: php-packagexml2cl
29 BuildRequires: rpm-php-pearprov >= 4.4.2-11
30 BuildRequires: rpmbuild(macros) >= 1.650
32 BuildRequires: %{php_name}-cli
33 BuildRequires: %{php_name}-session
34 BuildRequires: %{php_name}-spl
36 %{?requires_php_extension}
37 Requires: %{php_name}-session
38 Requires: %{php_name}-zlib
40 Provides: php(memcache) = %{version}
41 Obsoletes: php-pecl-memcache < 3.0.8-5
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 %define _webapps /etc/webapps
45 %define _webapp %{modname}
46 %define _sysconfdir %{_webapps}/%{_webapp}
47 %define _appdir %{_datadir}/%{_webapp}
50 %define _noautopear pear
52 # put it together for rpmbuild
53 %define _noautoreq %{?_noautophp} %{?_noautopear}
56 Memcached is a caching daemon designed especially for dynamic web
57 applications to decrease database load by storing objects in memory.
59 This extension allows you to work with memcached through handy OO and
60 procedural interfaces.
62 %description -l pl.UTF-8
63 Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
64 daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
65 przez przechowywanie w pamięci obiektów.
67 To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
68 zorientowanego obiektowo (oraz przez procedury) interfejsu.
71 Summary: Web interface for memcache
73 # does not require extension itself
74 Requires: php(core) >= %{php_min_version}
79 Requires: webserver(php) >= 5.0
80 %if "%{_rpmversion}" >= "5"
85 Via this web interface script you can manage and view statistics of
90 mv pecl-%{modname}-*/{.??*,*} .
95 packagexml2cl package.xml > ChangeLog
102 # simple module load test
104 -d extension_dir=modules \
105 -d extension=%{php_extensiondir}/spl.so \
106 -d extension=%{php_extensiondir}/session.so \
107 -d extension=%{modname}.so \
109 grep %{modname} modules.log
111 cat <<'EOF' > run-tests.sh
113 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
114 exec %{__make} test \
115 PHP_EXECUTABLE=%{__php} \
116 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="spl session" \
117 RUN_TESTS_SETTINGS="-q $*"
119 chmod +x run-tests.sh
125 rm -rf $RPM_BUILD_ROOT
126 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
127 install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
128 # we use "session_" prefix in inifile to get loader *after* session extension
129 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
130 cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
132 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
133 cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
134 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
135 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
136 cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
137 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
140 rm -rf $RPM_BUILD_ROOT
143 %php_webserver_restart
146 if [ "$1" = 0 ]; then
147 %php_webserver_restart
150 %triggerpostun -- %{name} < 3.0.4-2
151 if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
152 echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
153 cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
154 mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
155 %php_webserver_restart
158 %triggerin web -- apache1 < 1.3.37-3, apache1-base
159 %webapp_register apache %{_webapp}
161 %triggerun web -- apache1 < 1.3.37-3, apache1-base
162 %webapp_unregister apache %{_webapp}
164 %triggerin web -- apache < 2.2.0, apache-base
165 %webapp_register httpd %{_webapp}
167 %triggerun web -- apache < 2.2.0, apache-base
168 %webapp_unregister httpd %{_webapp}
170 %triggerin web -- lighttpd
171 %webapp_register lighttpd %{_webapp}
173 %triggerun web -- lighttpd
174 %webapp_unregister lighttpd %{_webapp}
177 %defattr(644,root,root,755)
178 %doc CREDITS README ChangeLog
179 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
180 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
181 %{_examplesdir}/%{name}-%{version}
184 %defattr(644,root,root,755)
185 %dir %attr(750,root,http) %{_sysconfdir}
186 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
187 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
188 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
189 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php