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