]> git.pld-linux.org Git - packages/php-pecl-memcache.git/blame - php-pecl-memcache.spec
Update for missing tests/044b.phpt
[packages/php-pecl-memcache.git] / php-pecl-memcache.spec
CommitLineData
8dfd8797
ER
1#
2# Conditional build:
3%bcond_without tests # build without tests
4
3917ea3d 5%define php_name php%{?php_suffix}
a9222c27 6%define modname memcache
afdaa3d2 7%define php_min_version 5.0.0
7362daf0 8%define commit e702b5f91
3917ea3d 9%include /usr/lib/rpm/macros.php
a9222c27
ER
10Summary: %{modname} - a memcached extension
11Summary(pl.UTF-8): %{modname} - rozszerzenie memcached
3917ea3d 12Name: %{php_name}-pecl-%{modname}
3ed64542 13Version: 4.0.5.1
f148f58d 14Release: 1
d7d5fbe6 15License: PHP 3.01
15f9ce79 16Group: Development/Languages/PHP
3ed64542
ER
17Source0: https://pecl.php.net/get/memcache-%{version}.tgz
18# Source0-md5: 0b11dcaa218872b7645d2c3425ce7fe8
20995d54 19Source1: %{modname}.ini
afdaa3d2
ER
20Source2: %{modname}-apache.conf
21Source3: %{modname}-lighttpd.conf
22Source4: config.php
23Patch0: %{modname}-webapp.patch
cb9f58e6 24Patch1: tests.patch
3ed64542 25URL: https://pecl.php.net/package/memcache
f00d6003 26BuildRequires: %{php_name}-devel >= 3:7.0.0
746511d0
ER
27BuildRequires: %{php_name}-pcre
28BuildRequires: %{php_name}-session
29BuildRequires: %{php_name}-simplexml
30BuildRequires: %{php_name}-spl
241a36be 31BuildRequires: %{php_name}-xml
fae887d4 32BuildRequires: php-packagexml2cl
afdaa3d2 33BuildRequires: rpm-php-pearprov >= 4.4.2-11
62a21c7f 34BuildRequires: rpmbuild(macros) >= 1.650
8dfd8797
ER
35%if %{with tests}
36BuildRequires: %{php_name}-cli
b1a4ab93 37BuildRequires: memcached
8dfd8797 38%endif
0bee29d4 39%{?requires_php_extension}
3917ea3d
ER
40Requires: %{php_name}-session
41Requires: %{php_name}-zlib
afdaa3d2 42Suggests: memcached
bd3aaaff 43Provides: php(memcache) = %{version}
41a892be 44Obsoletes: php-pecl-memcache < 3.0.8-5
15f9ce79
AG
45BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46
afdaa3d2
ER
47%define _webapps /etc/webapps
48%define _webapp %{modname}
49%define _sysconfdir %{_webapps}/%{_webapp}
50%define _appdir %{_datadir}/%{_webapp}
51
52# bad depsolver
53%define _noautopear pear
54
55# put it together for rpmbuild
56%define _noautoreq %{?_noautophp} %{?_noautopear}
57
15f9ce79
AG
58%description
59Memcached is a caching daemon designed especially for dynamic web
60applications to decrease database load by storing objects in memory.
61
62This extension allows you to work with memcached through handy OO and
63procedural interfaces.
64
6dd6de29 65%description -l pl.UTF-8
15f9ce79 66Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
6dd6de29
JR
67daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
68przez przechowywanie w pamięci obiektów.
15f9ce79 69
6dd6de29 70To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
15f9ce79
AG
71zorientowanego obiektowo (oraz przez procedury) interfejsu.
72
afdaa3d2
ER
73%package web
74Summary: Web interface for memcache
75Group: Libraries
09120ee3 76# does not require extension itself
fae887d4 77Requires: php(core) >= %{php_min_version}
3917ea3d
ER
78Requires: php(date)
79Requires: php(gd)
80Requires: php(pcre)
afdaa3d2
ER
81Requires: webapps
82Requires: webserver(php) >= 5.0
3917ea3d
ER
83%if "%{_rpmversion}" >= "5"
84BuildArch: noarch
85%endif
afdaa3d2
ER
86
87%description web
88Via this web interface script you can manage and view statistics of
89memcache.
90
15f9ce79 91%prep
10d2ed2a 92%setup -qc
3ed64542 93mv %{modname}-*/* .
afdaa3d2 94%patch0 -p1
cb9f58e6 95%patch1 -p1
15f9ce79 96
746511d0
ER
97cat <<'EOF' > run-tests.sh
98#!/bin/sh
99export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
100exec %{__make} test \
101 PHP_EXECUTABLE=%{__php} \
102%if "%php_major_version.%php_minor_version" >= "7.4"
103 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="simplexml session" \
104%else
105 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre spl simplexml session" \
106%endif
107 RUN_TESTS_SETTINGS="-q $*"
108EOF
109chmod +x run-tests.sh
110
85fa36ce 111# skip failed tests
a92c0265
ER
112die() {
113 echo >&2 "$*"
114 exit 1
115}
85fa36ce
ER
116xfail() {
117 set +x
118 while read s; do
119 t=$(echo "$s" | sed -rne 's/.+\[(.+)\]/\1/p')
120
a92c0265 121 test -f "$t" || die "Missing $t"
85fa36ce
ER
122 echo >&2 "XFAIL: $s"
123 cat >> $t <<-EOF
124
125 --XFAIL--
126 Skip
127 EOF
128 done
129}
130
131xfail <<'EOF'
31f4af49
ER
132memcache->addServer() [tests/019.phpt]
133memcache->set()/memcache->get() with multiple keys and load balancing [tests/020.phpt]
134memcache->getExtendedStats() [tests/022.phpt]
135memcache_get_extended_stats() [tests/022a.phpt]
136memcache->delete() with load balancing [tests/023.phpt]
137memcache->increment() with load balancing [tests/025.phpt]
138memcache->delete() with load balancing [tests/026.phpt]
139memcache->addServer() adding server in failed mode [tests/031.phpt]
140memcache->getServerStatus(), memcache->setServerParams() [tests/032.phpt]
141memcache::connect() with unix domain socket [tests/035.phpt]
142ini_set('session.save_handler') [tests/036.phpt]
143ini_set('session.save_path') [tests/036b.phpt]
144memcache->increment()/decrement() with multiple keys [tests/040.phpt]
145memcache->delete() with multiple keys [tests/041.phpt]
146memcache->set() with multiple values [tests/042.phpt]
147ini_set('memcache.redundancy') [tests/043.phpt]
148ini_set('memcache.session_redundancy') [tests/044.phpt]
31f4af49
ER
149hash strategies and functions [tests/046.phpt]
150ini_set('session.save_handler') with unix domain socket [tests/053.phpt]
151memcache multi host save path function [tests/bug73539.phpt]
152session_regenerate_id() should not cause fatal error [tests/githubbug13.phpt]
85fa36ce 153EOF
b1a4ab93 154
15f9ce79 155%build
6c6304c8 156packagexml2cl package.xml > ChangeLog
15f9ce79 157phpize
172c079e
AG
158%configure \
159 --with-zlib-dir=/usr
15f9ce79
AG
160%{__make}
161
8dfd8797
ER
162# simple module load test
163%{__php} -n -q \
164 -d extension_dir=modules \
746511d0 165%if "%php_major_version.%php_minor_version" >= "7.4"
9600d334 166 -d extension=%{php_extensiondir}/simplexml.so \
746511d0
ER
167 -d extension=%{php_extensiondir}/session.so \
168%else
169 -d extension=%{php_extensiondir}/pcre.so \
ef0230c6 170 -d extension=%{php_extensiondir}/spl.so \
746511d0 171 -d extension=%{php_extensiondir}/simplexml.so \
8dfd8797 172 -d extension=%{php_extensiondir}/session.so \
746511d0 173%endif
8dfd8797
ER
174 -d extension=%{modname}.so \
175 -m > modules.log
176grep %{modname} modules.log
e7368be2 177
746511d0 178%if %{with tests}
b1a4ab93 179# Launch the Memcached service and stop it on exit
cb9f58e6 180domainsocket=$PWD/memcached.sock
b1a4ab93 181%{_sbindir}/memcached -p 11211 -U 11211 -d -P $PWD/memcached.pid
cb9f58e6
ER
182%{_sbindir}/memcached -s $domainsocket -d -P $PWD/memcached-udp.pid
183trap 'kill $(cat memcached.pid memcached-udp.pid)' EXIT INT
b1a4ab93 184
746511d0 185./run-tests.sh --show-diff
8dfd8797
ER
186%endif
187
15f9ce79
AG
188%install
189rm -rf $RPM_BUILD_ROOT
a9222c27 190install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
20995d54
ER
191install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
192# we use "session_" prefix in inifile to get loader *after* session extension
10d2ed2a
ER
193cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
194cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
afdaa3d2
ER
195
196install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
10d2ed2a
ER
197cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
198cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
199cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
200cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
201cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
15f9ce79
AG
202
203%clean
204rm -rf $RPM_BUILD_ROOT
205
206%post
86295f4f 207%php_webserver_restart
15f9ce79 208
0bee29d4
ER
209%postun
210if [ "$1" = 0 ]; then
86295f4f 211 %php_webserver_restart
15f9ce79
AG
212fi
213
c69936a3
ER
214%triggerpostun -- %{name} < 3.0.4-2
215if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
216 echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
217 cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
218 mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
219 %php_webserver_restart
220fi
221
afdaa3d2
ER
222%triggerin web -- apache1 < 1.3.37-3, apache1-base
223%webapp_register apache %{_webapp}
224
225%triggerun web -- apache1 < 1.3.37-3, apache1-base
226%webapp_unregister apache %{_webapp}
227
fbc0c377 228%triggerin web -- apache < 2.2.0, apache-base
afdaa3d2
ER
229%webapp_register httpd %{_webapp}
230
fbc0c377 231%triggerun web -- apache < 2.2.0, apache-base
afdaa3d2
ER
232%webapp_unregister httpd %{_webapp}
233
234%triggerin web -- lighttpd
235%webapp_register lighttpd %{_webapp}
236
237%triggerun web -- lighttpd
238%webapp_unregister lighttpd %{_webapp}
239
15f9ce79
AG
240%files
241%defattr(644,root,root,755)
6c6304c8 242%doc CREDITS README ChangeLog
c69936a3 243%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
a9222c27
ER
244%attr(755,root,root) %{php_extensiondir}/%{modname}.so
245%{_examplesdir}/%{name}-%{version}
afdaa3d2
ER
246
247%files web
248%defattr(644,root,root,755)
249%dir %attr(750,root,http) %{_sysconfdir}
250%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
251%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
252%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
1ec0934f 253%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
afdaa3d2 254%{_appdir}
This page took 0.236953 seconds and 4 git commands to generate.