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