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