php 5.2 deps
[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
9600d334 34BuildRequires: %{php_name}-simplexml
ef0230c6 35BuildRequires: %{php_name}-spl
b1a4ab93 36BuildRequires: memcached
8dfd8797 37%endif
0bee29d4 38%{?requires_php_extension}
3917ea3d
ER
39Requires: %{php_name}-session
40Requires: %{php_name}-zlib
afdaa3d2 41Suggests: memcached
bd3aaaff 42Provides: php(memcache) = %{version}
41a892be 43Obsoletes: php-pecl-memcache < 3.0.8-5
15f9ce79
AG
44BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45
afdaa3d2
ER
46%define _webapps /etc/webapps
47%define _webapp %{modname}
48%define _sysconfdir %{_webapps}/%{_webapp}
49%define _appdir %{_datadir}/%{_webapp}
50
51# bad depsolver
52%define _noautopear pear
53
54# put it together for rpmbuild
55%define _noautoreq %{?_noautophp} %{?_noautopear}
56
15f9ce79
AG
57%description
58Memcached is a caching daemon designed especially for dynamic web
59applications to decrease database load by storing objects in memory.
60
61This extension allows you to work with memcached through handy OO and
62procedural interfaces.
63
6dd6de29 64%description -l pl.UTF-8
15f9ce79 65Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
6dd6de29
JR
66daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
67przez przechowywanie w pamięci obiektów.
15f9ce79 68
6dd6de29 69To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
15f9ce79
AG
70zorientowanego obiektowo (oraz przez procedury) interfejsu.
71
afdaa3d2
ER
72%package web
73Summary: Web interface for memcache
74Group: Libraries
09120ee3 75# does not require extension itself
fae887d4 76Requires: php(core) >= %{php_min_version}
3917ea3d
ER
77Requires: php(date)
78Requires: php(gd)
79Requires: php(pcre)
afdaa3d2
ER
80Requires: webapps
81Requires: webserver(php) >= 5.0
3917ea3d
ER
82%if "%{_rpmversion}" >= "5"
83BuildArch: noarch
84%endif
afdaa3d2
ER
85
86%description web
87Via this web interface script you can manage and view statistics of
88memcache.
89
15f9ce79 90%prep
10d2ed2a
ER
91%setup -qc
92mv pecl-%{modname}-*/{.??*,*} .
afdaa3d2 93%patch0 -p1
15f9ce79 94
85fa36ce
ER
95# skip failed tests
96xfail() {
97 set +x
98 while read s; do
99 t=$(echo "$s" | sed -rne 's/.+\[(.+)\]/\1/p')
100
101 test -f "$t"
102 echo >&2 "XFAIL: $s"
103 cat >> $t <<-EOF
104
105 --XFAIL--
106 Skip
107 EOF
108 done
109}
110
111xfail <<'EOF'
85fa36ce 112EOF
b1a4ab93 113
15f9ce79 114%build
6c6304c8 115packagexml2cl package.xml > ChangeLog
15f9ce79 116phpize
172c079e
AG
117%configure \
118 --with-zlib-dir=/usr
15f9ce79
AG
119%{__make}
120
8dfd8797
ER
121%if %{with tests}
122# simple module load test
123%{__php} -n -q \
124 -d extension_dir=modules \
af5be609 125 -d extension=%{php_extensiondir}/pcre.so \
9600d334 126 -d extension=%{php_extensiondir}/simplexml.so \
ef0230c6 127 -d extension=%{php_extensiondir}/spl.so \
8dfd8797
ER
128 -d extension=%{php_extensiondir}/session.so \
129 -d extension=%{modname}.so \
130 -m > modules.log
131grep %{modname} modules.log
e7368be2
ER
132
133cat <<'EOF' > run-tests.sh
134#!/bin/sh
135export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
136exec %{__make} test \
137 PHP_EXECUTABLE=%{__php} \
9600d334 138 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre simplexml spl session" \
e7368be2
ER
139 RUN_TESTS_SETTINGS="-q $*"
140EOF
141chmod +x run-tests.sh
142
b1a4ab93
ER
143# Launch the Memcached service and stop it on exit
144%{_sbindir}/memcached -p 11211 -U 11211 -d -P $PWD/memcached.pid
145trap 'kill $(cat memcached.pid)' EXIT INT
146
e7368be2 147./run-tests.sh
8dfd8797
ER
148%endif
149
15f9ce79
AG
150%install
151rm -rf $RPM_BUILD_ROOT
a9222c27 152install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
20995d54
ER
153install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
154# we use "session_" prefix in inifile to get loader *after* session extension
10d2ed2a
ER
155cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
156cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
afdaa3d2
ER
157
158install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
10d2ed2a
ER
159cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
160cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
161cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
162cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
163cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
15f9ce79
AG
164
165%clean
166rm -rf $RPM_BUILD_ROOT
167
168%post
86295f4f 169%php_webserver_restart
15f9ce79 170
0bee29d4
ER
171%postun
172if [ "$1" = 0 ]; then
86295f4f 173 %php_webserver_restart
15f9ce79
AG
174fi
175
c69936a3
ER
176%triggerpostun -- %{name} < 3.0.4-2
177if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
178 echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
179 cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
180 mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
181 %php_webserver_restart
182fi
183
afdaa3d2
ER
184%triggerin web -- apache1 < 1.3.37-3, apache1-base
185%webapp_register apache %{_webapp}
186
187%triggerun web -- apache1 < 1.3.37-3, apache1-base
188%webapp_unregister apache %{_webapp}
189
fbc0c377 190%triggerin web -- apache < 2.2.0, apache-base
afdaa3d2
ER
191%webapp_register httpd %{_webapp}
192
fbc0c377 193%triggerun web -- apache < 2.2.0, apache-base
afdaa3d2
ER
194%webapp_unregister httpd %{_webapp}
195
196%triggerin web -- lighttpd
197%webapp_register lighttpd %{_webapp}
198
199%triggerun web -- lighttpd
200%webapp_unregister lighttpd %{_webapp}
201
15f9ce79
AG
202%files
203%defattr(644,root,root,755)
6c6304c8 204%doc CREDITS README ChangeLog
c69936a3 205%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
a9222c27
ER
206%attr(755,root,root) %{php_extensiondir}/%{modname}.so
207%{_examplesdir}/%{name}-%{version}
afdaa3d2
ER
208
209%files web
210%defattr(644,root,root,755)
211%dir %attr(750,root,http) %{_sysconfdir}
212%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
213%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
214%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
1ec0934f 215%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
afdaa3d2 216%{_appdir}
This page took 0.657942 seconds and 4 git commands to generate.