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