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