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