]> git.pld-linux.org Git - packages/php-pecl-memcache.git/blob - php-pecl-memcache.spec
34470698fb22e4e380a0107deda6d2020d8e5368
[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 %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 %patch1 -p1
94
95 %build
96 packagexml2cl package.xml > ChangeLog
97 phpize
98 %configure \
99         --with-zlib-dir=/usr
100 %{__make}
101
102 %if %{with tests}
103 # simple module load test
104 %{__php} -n -q \
105         -d extension_dir=modules \
106         -d extension=%{php_extensiondir}/pcre.so \
107         -d extension=%{php_extensiondir}/spl.so \
108         -d extension=%{php_extensiondir}/session.so \
109         -d extension=%{modname}.so \
110         -m > modules.log
111 grep %{modname} modules.log
112
113 cat <<'EOF' > run-tests.sh
114 #!/bin/sh
115 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
116 exec %{__make} test \
117         PHP_EXECUTABLE=%{__php} \
118         PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre spl session" \
119         RUN_TESTS_SETTINGS="-q $*"
120 EOF
121 chmod +x run-tests.sh
122
123 ./run-tests.sh
124 %endif
125
126 %install
127 rm -rf $RPM_BUILD_ROOT
128 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
129 install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
130 # we use "session_" prefix in inifile to get loader *after* session extension
131 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
132 cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
133
134 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
135 cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
136 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
137 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
138 cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
139 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
140
141 %clean
142 rm -rf $RPM_BUILD_ROOT
143
144 %post
145 %php_webserver_restart
146
147 %postun
148 if [ "$1" = 0 ]; then
149         %php_webserver_restart
150 fi
151
152 %triggerpostun -- %{name} < 3.0.4-2
153 if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
154         echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
155         cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
156         mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
157         %php_webserver_restart
158 fi
159
160 %triggerin web -- apache1 < 1.3.37-3, apache1-base
161 %webapp_register apache %{_webapp}
162
163 %triggerun web -- apache1 < 1.3.37-3, apache1-base
164 %webapp_unregister apache %{_webapp}
165
166 %triggerin web -- apache < 2.2.0, apache-base
167 %webapp_register httpd %{_webapp}
168
169 %triggerun web -- apache < 2.2.0, apache-base
170 %webapp_unregister httpd %{_webapp}
171
172 %triggerin web -- lighttpd
173 %webapp_register lighttpd %{_webapp}
174
175 %triggerun web -- lighttpd
176 %webapp_unregister lighttpd %{_webapp}
177
178 %files
179 %defattr(644,root,root,755)
180 %doc CREDITS README ChangeLog
181 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
182 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
183 %{_examplesdir}/%{name}-%{version}
184
185 %files web
186 %defattr(644,root,root,755)
187 %dir %attr(750,root,http) %{_sysconfdir}
188 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
189 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
190 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
191 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
192 %{_appdir}
This page took 0.054185 seconds and 2 git commands to generate.