reset failed tests
[packages/php-pecl-memcache.git] / php-pecl-memcache.spec
1 #
2 # Conditional build:
3 %bcond_without  tests           # build without tests
4
5 %define         php_name        php%{?php_suffix}
6 %define         modname memcache
7 %define         php_min_version 5.0.0
8 %define         commit e702b5f91
9 %include        /usr/lib/rpm/macros.php
10 Summary:        %{modname} - a memcached extension
11 Summary(pl.UTF-8):      %{modname} - rozszerzenie memcached
12 Name:           %{php_name}-pecl-%{modname}
13 Version:        4.0.3
14 Release:        1
15 License:        PHP 3.01
16 Group:          Development/Languages/PHP
17 Source0:        https://github.com/websupport-sk/pecl-memcache/archive/%{version}/%{modname}-%{version}.tar.gz
18 # Source0-md5:  21a001ef690a1397a8b62990254cc8c2
19 Source1:        %{modname}.ini
20 Source2:        %{modname}-apache.conf
21 Source3:        %{modname}-lighttpd.conf
22 Source4:        config.php
23 Patch0:         %{modname}-webapp.patch
24 URL:            https://github.com/websupport-sk/pecl-memcache/
25 BuildRequires:  %{php_name}-devel >= 3:5.0.0
26 BuildRequires:  %{php_name}-xml
27 BuildRequires:  php-packagexml2cl
28 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
29 BuildRequires:  rpmbuild(macros) >= 1.650
30 %if %{with tests}
31 BuildRequires:  %{php_name}-cli
32 BuildRequires:  %{php_name}-pcre
33 BuildRequires:  %{php_name}-session
34 BuildRequires:  %{php_name}-spl
35 BuildRequires:  memcached
36 %endif
37 %{?requires_php_extension}
38 Requires:       %{php_name}-session
39 Requires:       %{php_name}-zlib
40 Suggests:       memcached
41 Provides:       php(memcache) = %{version}
42 Obsoletes:      php-pecl-memcache < 3.0.8-5
43 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
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
56 %description
57 Memcached is a caching daemon designed especially for dynamic web
58 applications to decrease database load by storing objects in memory.
59
60 This extension allows you to work with memcached through handy OO and
61 procedural interfaces.
62
63 %description -l pl.UTF-8
64 Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
65 daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
66 przez przechowywanie w pamięci obiektów.
67
68 To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
69 zorientowanego obiektowo (oraz przez procedury) interfejsu.
70
71 %package web
72 Summary:        Web interface for memcache
73 Group:          Libraries
74 # does not require extension itself
75 Requires:       php(core) >= %{php_min_version}
76 Requires:       php(date)
77 Requires:       php(gd)
78 Requires:       php(pcre)
79 Requires:       webapps
80 Requires:       webserver(php) >= 5.0
81 %if "%{_rpmversion}" >= "5"
82 BuildArch:      noarch
83 %endif
84
85 %description web
86 Via this web interface script you can manage and view statistics of
87 memcache.
88
89 %prep
90 %setup -qc
91 mv pecl-%{modname}-*/{.??*,*} .
92 %patch0 -p1
93
94 # skip failed tests
95 xfail() {
96         set +x
97         while read s; do
98                 t=$(echo "$s" | sed -rne 's/.+\[(.+)\]/\1/p')
99
100                 test -f "$t"
101                 echo >&2 "XFAIL: $s"
102                 cat >> $t <<-EOF
103
104                 --XFAIL--
105                 Skip
106                 EOF
107         done
108 }
109
110 xfail <<'EOF'
111 EOF
112
113 %build
114 packagexml2cl package.xml > ChangeLog
115 phpize
116 %configure \
117         --with-zlib-dir=/usr
118 %{__make}
119
120 %if %{with tests}
121 # simple module load test
122 %{__php} -n -q \
123         -d extension_dir=modules \
124         -d extension=%{php_extensiondir}/pcre.so \
125         -d extension=%{php_extensiondir}/spl.so \
126         -d extension=%{php_extensiondir}/session.so \
127         -d extension=%{modname}.so \
128         -m > modules.log
129 grep %{modname} modules.log
130
131 cat <<'EOF' > run-tests.sh
132 #!/bin/sh
133 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
134 exec %{__make} test \
135         PHP_EXECUTABLE=%{__php} \
136         PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre spl session" \
137         RUN_TESTS_SETTINGS="-q $*"
138 EOF
139 chmod +x run-tests.sh
140
141 # Launch the Memcached service and stop it on exit
142 %{_sbindir}/memcached -p 11211 -U 11211 -d -P $PWD/memcached.pid
143 trap 'kill $(cat memcached.pid)' EXIT INT
144
145 ./run-tests.sh
146 %endif
147
148 %install
149 rm -rf $RPM_BUILD_ROOT
150 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
151 install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
152 # we use "session_" prefix in inifile to get loader *after* session extension
153 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
154 cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
155
156 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
157 cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
158 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
159 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
160 cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
161 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
162
163 %clean
164 rm -rf $RPM_BUILD_ROOT
165
166 %post
167 %php_webserver_restart
168
169 %postun
170 if [ "$1" = 0 ]; then
171         %php_webserver_restart
172 fi
173
174 %triggerpostun -- %{name} < 3.0.4-2
175 if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
176         echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
177         cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
178         mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
179         %php_webserver_restart
180 fi
181
182 %triggerin web -- apache1 < 1.3.37-3, apache1-base
183 %webapp_register apache %{_webapp}
184
185 %triggerun web -- apache1 < 1.3.37-3, apache1-base
186 %webapp_unregister apache %{_webapp}
187
188 %triggerin web -- apache < 2.2.0, apache-base
189 %webapp_register httpd %{_webapp}
190
191 %triggerun web -- apache < 2.2.0, apache-base
192 %webapp_unregister httpd %{_webapp}
193
194 %triggerin web -- lighttpd
195 %webapp_register lighttpd %{_webapp}
196
197 %triggerun web -- lighttpd
198 %webapp_unregister lighttpd %{_webapp}
199
200 %files
201 %defattr(644,root,root,755)
202 %doc CREDITS README ChangeLog
203 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
204 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
205 %{_examplesdir}/%{name}-%{version}
206
207 %files web
208 %defattr(644,root,root,755)
209 %dir %attr(750,root,http) %{_sysconfdir}
210 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
211 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
212 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
213 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
214 %{_appdir}
This page took 0.122323 seconds and 3 git commands to generate.