]> git.pld-linux.org Git - packages/php-pecl-memcache.git/blob - php-pecl-memcache.spec
1401601266c6d7feb087e0796e2e60e0b547e965
[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}-pcre
34 BuildRequires:  %{php_name}-session
35 BuildRequires:  %{php_name}-spl
36 BuildRequires:  memcached
37 %endif
38 %{?requires_php_extension}
39 Requires:       %{php_name}-session
40 Requires:       %{php_name}-zlib
41 Suggests:       memcached
42 Provides:       php(memcache) = %{version}
43 Obsoletes:      php-pecl-memcache < 3.0.8-5
44 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45
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
57 %description
58 Memcached is a caching daemon designed especially for dynamic web
59 applications to decrease database load by storing objects in memory.
60
61 This extension allows you to work with memcached through handy OO and
62 procedural interfaces.
63
64 %description -l pl.UTF-8
65 Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
66 daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
67 przez przechowywanie w pamięci obiektów.
68
69 To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
70 zorientowanego obiektowo (oraz przez procedury) interfejsu.
71
72 %package web
73 Summary:        Web interface for memcache
74 Group:          Libraries
75 # does not require extension itself
76 Requires:       php(core) >= %{php_min_version}
77 Requires:       php(date)
78 Requires:       php(gd)
79 Requires:       php(pcre)
80 Requires:       webapps
81 Requires:       webserver(php) >= 5.0
82 %if "%{_rpmversion}" >= "5"
83 BuildArch:      noarch
84 %endif
85
86 %description web
87 Via this web interface script you can manage and view statistics of
88 memcache.
89
90 %prep
91 %setup -qc
92 mv pecl-%{modname}-*/{.??*,*} .
93 %patch0 -p1
94 %patch1 -p1
95
96 # locks up on carme, likely due udp very long timeout
97 rm tests/039.phpt
98
99 %build
100 packagexml2cl package.xml > ChangeLog
101 phpize
102 %configure \
103         --with-zlib-dir=/usr
104 %{__make}
105
106 %if %{with tests}
107 # simple module load test
108 %{__php} -n -q \
109         -d extension_dir=modules \
110         -d extension=%{php_extensiondir}/pcre.so \
111         -d extension=%{php_extensiondir}/spl.so \
112         -d extension=%{php_extensiondir}/session.so \
113         -d extension=%{modname}.so \
114         -m > modules.log
115 grep %{modname} modules.log
116
117 cat <<'EOF' > run-tests.sh
118 #!/bin/sh
119 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
120 exec %{__make} test \
121         PHP_EXECUTABLE=%{__php} \
122         PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre spl session" \
123         RUN_TESTS_SETTINGS="-q $*"
124 EOF
125 chmod +x run-tests.sh
126
127 # Launch the Memcached service and stop it on exit
128 %{_sbindir}/memcached -p 11211 -U 11211 -d -P $PWD/memcached.pid
129 trap 'kill $(cat memcached.pid)' EXIT INT
130
131 ./run-tests.sh
132 %endif
133
134 %install
135 rm -rf $RPM_BUILD_ROOT
136 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
137 install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
138 # we use "session_" prefix in inifile to get loader *after* session extension
139 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
140 cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
141
142 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
143 cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
144 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
145 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
146 cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
147 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
148
149 %clean
150 rm -rf $RPM_BUILD_ROOT
151
152 %post
153 %php_webserver_restart
154
155 %postun
156 if [ "$1" = 0 ]; then
157         %php_webserver_restart
158 fi
159
160 %triggerpostun -- %{name} < 3.0.4-2
161 if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
162         echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
163         cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
164         mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
165         %php_webserver_restart
166 fi
167
168 %triggerin web -- apache1 < 1.3.37-3, apache1-base
169 %webapp_register apache %{_webapp}
170
171 %triggerun web -- apache1 < 1.3.37-3, apache1-base
172 %webapp_unregister apache %{_webapp}
173
174 %triggerin web -- apache < 2.2.0, apache-base
175 %webapp_register httpd %{_webapp}
176
177 %triggerun web -- apache < 2.2.0, apache-base
178 %webapp_unregister httpd %{_webapp}
179
180 %triggerin web -- lighttpd
181 %webapp_register lighttpd %{_webapp}
182
183 %triggerun web -- lighttpd
184 %webapp_unregister lighttpd %{_webapp}
185
186 %files
187 %defattr(644,root,root,755)
188 %doc CREDITS README ChangeLog
189 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
190 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
191 %{_examplesdir}/%{name}-%{version}
192
193 %files web
194 %defattr(644,root,root,755)
195 %dir %attr(750,root,http) %{_sysconfdir}
196 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
197 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
198 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
199 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
200 %{_appdir}
This page took 0.103373 seconds and 2 git commands to generate.