]> git.pld-linux.org Git - packages/php-pecl-memcache.git/blame - php-pecl-memcache.spec
Up to 8.0, adds php 8.0 support
[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
b1a4ab93 42BuildRequires: memcached
8dfd8797 43%endif
0bee29d4 44%{?requires_php_extension}
3917ea3d
ER
45Requires: %{php_name}-session
46Requires: %{php_name}-zlib
afdaa3d2 47Suggests: memcached
bd3aaaff 48Provides: php(memcache) = %{version}
41a892be 49Obsoletes: php-pecl-memcache < 3.0.8-5
15f9ce79
AG
50BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51
afdaa3d2
ER
52%define _webapps /etc/webapps
53%define _webapp %{modname}
54%define _sysconfdir %{_webapps}/%{_webapp}
55%define _appdir %{_datadir}/%{_webapp}
56
57# bad depsolver
58%define _noautopear pear
59
60# put it together for rpmbuild
61%define _noautoreq %{?_noautophp} %{?_noautopear}
62
15f9ce79
AG
63%description
64Memcached is a caching daemon designed especially for dynamic web
65applications to decrease database load by storing objects in memory.
66
67This extension allows you to work with memcached through handy OO and
68procedural interfaces.
69
6dd6de29 70%description -l pl.UTF-8
15f9ce79 71Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
6dd6de29
JR
72daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
73przez przechowywanie w pamięci obiektów.
15f9ce79 74
6dd6de29 75To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
15f9ce79
AG
76zorientowanego obiektowo (oraz przez procedury) interfejsu.
77
e749f62b 78%package -n php-pecl-memcache-web
afdaa3d2
ER
79Summary: Web interface for memcache
80Group: Libraries
09120ee3 81# does not require extension itself
fae887d4 82Requires: php(core) >= %{php_min_version}
3917ea3d
ER
83Requires: php(date)
84Requires: php(gd)
85Requires: php(pcre)
afdaa3d2
ER
86Requires: webapps
87Requires: webserver(php) >= 5.0
e749f62b
ER
88Obsoletes: php70-pecl-memcache-web < 4.0.5.1-2
89Obsoletes: php71-pecl-memcache-web < 4.0.5.1-2
90Obsoletes: php72-pecl-memcache-web < 4.0.5.1-2
91Obsoletes: php73-pecl-memcache-web < 4.0.5.1-2
92Obsoletes: php74-pecl-memcache-web < 4.0.5.1-2
3917ea3d
ER
93%if "%{_rpmversion}" >= "5"
94BuildArch: noarch
95%endif
afdaa3d2 96
e749f62b 97%description -n php-pecl-memcache-web
afdaa3d2
ER
98Via this web interface script you can manage and view statistics of
99memcache.
100
15f9ce79 101%prep
10d2ed2a 102%setup -qc
3ed64542 103mv %{modname}-*/* .
afdaa3d2 104%patch0 -p1
cb9f58e6 105%patch1 -p1
15f9ce79 106
746511d0
ER
107cat <<'EOF' > run-tests.sh
108#!/bin/sh
109export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
110exec %{__make} test \
111 PHP_EXECUTABLE=%{__php} \
112%if "%php_major_version.%php_minor_version" >= "7.4"
113 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="simplexml session" \
114%else
115 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre spl simplexml session" \
116%endif
117 RUN_TESTS_SETTINGS="-q $*"
118EOF
119chmod +x run-tests.sh
120
85fa36ce 121# skip failed tests
a92c0265
ER
122die() {
123 echo >&2 "$*"
124 exit 1
125}
85fa36ce
ER
126xfail() {
127 set +x
128 while read s; do
129 t=$(echo "$s" | sed -rne 's/.+\[(.+)\]/\1/p')
130
a92c0265 131 test -f "$t" || die "Missing $t"
85fa36ce
ER
132 echo >&2 "XFAIL: $s"
133 cat >> $t <<-EOF
134
135 --XFAIL--
136 Skip
137 EOF
138 done
139}
140
141xfail <<'EOF'
31f4af49
ER
142memcache->addServer() [tests/019.phpt]
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
ER
172# simple module load test
173%{__php} -n -q \
174 -d extension_dir=modules \
746511d0 175%if "%php_major_version.%php_minor_version" >= "7.4"
9600d334 176 -d extension=%{php_extensiondir}/simplexml.so \
746511d0
ER
177 -d extension=%{php_extensiondir}/session.so \
178%else
179 -d extension=%{php_extensiondir}/pcre.so \
ef0230c6 180 -d extension=%{php_extensiondir}/spl.so \
746511d0 181 -d extension=%{php_extensiondir}/simplexml.so \
8dfd8797 182 -d extension=%{php_extensiondir}/session.so \
746511d0 183%endif
8dfd8797
ER
184 -d extension=%{modname}.so \
185 -m > modules.log
186grep %{modname} modules.log
e7368be2 187
746511d0 188%if %{with tests}
b1a4ab93 189# Launch the Memcached service and stop it on exit
cb9f58e6 190domainsocket=$PWD/memcached.sock
b1a4ab93 191%{_sbindir}/memcached -p 11211 -U 11211 -d -P $PWD/memcached.pid
cb9f58e6
ER
192%{_sbindir}/memcached -s $domainsocket -d -P $PWD/memcached-udp.pid
193trap 'kill $(cat memcached.pid memcached-udp.pid)' EXIT INT
b1a4ab93 194
746511d0 195./run-tests.sh --show-diff
8dfd8797
ER
196%endif
197
15f9ce79
AG
198%install
199rm -rf $RPM_BUILD_ROOT
a9222c27 200install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
20995d54
ER
201install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
202# we use "session_" prefix in inifile to get loader *after* session extension
10d2ed2a
ER
203cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
204cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
afdaa3d2 205
e749f62b 206%if %{with web}
afdaa3d2 207install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
10d2ed2a
ER
208cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
209cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
210cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
211cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
212cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
e749f62b 213%endif
15f9ce79
AG
214
215%clean
216rm -rf $RPM_BUILD_ROOT
217
218%post
86295f4f 219%php_webserver_restart
15f9ce79 220
0bee29d4
ER
221%postun
222if [ "$1" = 0 ]; then
86295f4f 223 %php_webserver_restart
15f9ce79
AG
224fi
225
c69936a3
ER
226%triggerpostun -- %{name} < 3.0.4-2
227if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
228 echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
229 cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
230 mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
231 %php_webserver_restart
232fi
233
e749f62b 234%triggerin -n php-pecl-memcache-web -- apache1 < 1.3.37-3, apache1-base
afdaa3d2
ER
235%webapp_register apache %{_webapp}
236
e749f62b 237%triggerun -n php-pecl-memcache-web -- apache1 < 1.3.37-3, apache1-base
afdaa3d2
ER
238%webapp_unregister apache %{_webapp}
239
e749f62b 240%triggerin -n php-pecl-memcache-web -- apache < 2.2.0, apache-base
afdaa3d2
ER
241%webapp_register httpd %{_webapp}
242
e749f62b 243%triggerun -n php-pecl-memcache-web -- apache < 2.2.0, apache-base
afdaa3d2
ER
244%webapp_unregister httpd %{_webapp}
245
e749f62b 246%triggerin -n php-pecl-memcache-web -- lighttpd
afdaa3d2
ER
247%webapp_register lighttpd %{_webapp}
248
e749f62b 249%triggerun -n php-pecl-memcache-web -- lighttpd
afdaa3d2
ER
250%webapp_unregister lighttpd %{_webapp}
251
15f9ce79
AG
252%files
253%defattr(644,root,root,755)
6c6304c8 254%doc CREDITS README ChangeLog
c69936a3 255%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
a9222c27
ER
256%attr(755,root,root) %{php_extensiondir}/%{modname}.so
257%{_examplesdir}/%{name}-%{version}
afdaa3d2 258
e749f62b
ER
259%if %{with web}
260%files -n php-pecl-memcache-web
afdaa3d2
ER
261%defattr(644,root,root,755)
262%dir %attr(750,root,http) %{_sysconfdir}
263%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
264%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
265%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
1ec0934f 266%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
afdaa3d2 267%{_appdir}
e749f62b 268%endif
This page took 0.123614 seconds and 4 git commands to generate.