5 %bcond_without web # make web package
7 # build "web" only for 5.5 version
8 %if 0%{?_pld_builder:1} && "%{?php_suffix}" != "55"
12 %define php_name php%{?php_suffix}
13 %define modname xcache
14 Summary: %{modname} - PHP opcode cacher
15 Summary(pl.UTF-8): %{modname} - buforowanie opcodów PHP
16 Name: %{php_name}-%{modname}
17 # 3.2.0 leaks fds, use xcache-3.1 branch for now
18 # http://xcache.lighttpd.net/ticket/363
23 Group: Development/Languages/PHP
24 Source0: http://xcache.lighttpd.net/pub/Releases/%{version}/xcache-%{version}.tar.bz2
25 # Source0-md5: 3655bd20483dc23d24f87f9dc924a62e
26 Source1: %{modname}-apache.conf
27 Source2: %{modname}-lighttpd.conf
29 Patch1: ini-settings.patch
30 URL: http://xcache.lighttpd.net/
31 BuildRequires: %{php_name}-devel >= 4:5.2.17-8
32 BuildRequires: rpmbuild(macros) >= 1.344
33 BuildRequires: sed >= 4.0
34 %{?requires_zend_extension}
35 Requires: php(core) >= 5.0.4
36 Requires(triggerpostun): sed >= 4.0
37 Provides: php(xcache) = %{version}
38 Obsoletes: php-xcache < 3.1.0-3
39 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 %define _webapps /etc/webapps
42 %define _webapp %{modname}
43 %define _sysconfdir %{_webapps}/%{_webapp}
44 %define _appdir %{_datadir}/%{_webapp}
47 XCache is a fast, stable PHP opcode cacher that has been tested and is
48 now running on production servers under high load.
50 %description -l pl.UTF-8
51 XCache to szybkie, stabilne buforowanie opcodów PHP, przetestowane i
52 działające na produkcyjnych serwerach o dużym obciążeniu.
54 %package -n php-xcache-web
55 Summary: WEB interface for xCache
57 Requires: %{name} = %{version}-%{release}
59 Requires: webserver(access)
60 Requires: webserver(php) >= 5.0
61 Obsoletes: php55-xcache-web < 3.1.0-5
64 %description -n php-xcache-web
65 Via this web interface script you can manage and view statistics of
68 More information you can find at %{url}.
71 %setup -q -n %{modname}-%{version}
75 s,@extensiondir@,%{php_extensiondir},
78 mv htdocs/config{.default,}.php
79 mv htdocs/config.example.php config.example.php
80 mv htdocs/cacher/config{.default,}.php
81 mv htdocs/cacher/config.example.php cacher.config.example.php
82 mv htdocs/coverager/config{.default,}.php
83 mv htdocs/coverager/config.example.php coverager.config.example.php
85 %{__rm} htdocs/common/lang/*.po
86 %{__rm} htdocs/coverager/lang/*.po
87 %{__rm} htdocs/cacher/lang/*.po
90 %{__rm} htdocs/diagnosis/lang/zh-tranditional.php
96 --enable-xcache-optimizer \
97 --enable-xcache-coverager
101 rm -rf $RPM_BUILD_ROOT
103 INSTALL_ROOT=$RPM_BUILD_ROOT
105 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
106 cp -p xcache.ini $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
108 # The cache directory where pre-compiled files will reside
109 install -d $RPM_BUILD_ROOT/var/cache/php-%{modname}
112 install -d $RPM_BUILD_ROOT{%{_appdir},%{_sysconfdir}}
113 cp -a htdocs/* $RPM_BUILD_ROOT%{_appdir}
114 %{__rm} $RPM_BUILD_ROOT%{_appdir}/diagnosis/lang/*.po
116 mv $RPM_BUILD_ROOT{%{_appdir},%{_sysconfdir}}/config.php
117 mv $RPM_BUILD_ROOT{%{_appdir}/cacher/config.php,%{_sysconfdir}/cacher.config.php}
118 mv $RPM_BUILD_ROOT{%{_appdir}/coverager/config.php,%{_sysconfdir}/coverager.config.php}
119 ln -s %{_sysconfdir}/config.php $RPM_BUILD_ROOT%{_appdir}/config.php
120 ln -s %{_sysconfdir}/cacher.config.php $RPM_BUILD_ROOT%{_appdir}/cacher/config.php
121 ln -s %{_sysconfdir}/coverager.config.php $RPM_BUILD_ROOT%{_appdir}/coverager/config.php
122 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
123 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
124 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
128 rm -rf $RPM_BUILD_ROOT
131 %php_webserver_restart
134 if [ "$1" = 0 ]; then
135 %php_webserver_restart
138 %triggerpostun -- %{name} < 3.0.0-0.8
139 %{__sed} -i -e 's,zend_extension,extension,' %{php_sysconfdir}/conf.d/%{modname}.ini
141 %triggerin -n php-xcache-web -- apache1 < 1.3.37-3, apache1-base
142 %webapp_register apache %{_webapp}
144 %triggerun -n php-xcache-web -- apache1 < 1.3.37-3, apache1-base
145 %webapp_unregister apache %{_webapp}
147 %triggerin -n php-xcache-web -- apache < 2.2.0, apache-base
148 %webapp_register httpd %{_webapp}
150 %triggerun -n php-xcache-web -- apache < 2.2.0, apache-base
151 %webapp_unregister httpd %{_webapp}
153 %triggerin -n php-xcache-web -- lighttpd
154 %webapp_register lighttpd %{_webapp}
156 %triggerun -n php-xcache-web -- lighttpd
157 %webapp_unregister lighttpd %{_webapp}
160 %defattr(644,root,root,755)
161 %doc AUTHORS README THANKS
162 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
163 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
165 # XXX: what for this dir is used?
166 %dir %attr(775,root,http) /var/cache/php-xcache
169 %files -n php-xcache-web
170 %defattr(644,root,root,755)
171 %doc config*.example.php
172 %dir %attr(750,root,http) %{_sysconfdir}
173 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
174 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
175 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
176 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
177 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cacher.config.php
178 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/coverager.config.php
182 %dir %{_appdir}/common
183 %{_appdir}/common/*.css
184 %{_appdir}/common/*.js
185 %{_appdir}/common/*.php
186 %{_appdir}/common/*.png
187 %dir %{_appdir}/common/lang
188 %{_appdir}/common/lang/en.php
189 %lang(cn) %{_appdir}/common/lang/zh-simplified.php
190 %lang(cn) %{_appdir}/common/lang/zh-traditional.php
192 %dir %{_appdir}/cacher
193 %{_appdir}/cacher/*.css
194 %{_appdir}/cacher/*.php
195 %{_appdir}/cacher/sub
196 %dir %{_appdir}/cacher/lang
197 %{_appdir}/cacher/lang/en.php
198 %lang(zh_CN) %{_appdir}/cacher/lang/zh-simplified.php
199 %lang(zh_CN) %{_appdir}/cacher/lang/zh-traditional.php
201 %dir %{_appdir}/coverager
202 %{_appdir}/coverager/*.css
203 %{_appdir}/coverager/*.php
204 %dir %{_appdir}/coverager/lang
205 %{_appdir}/coverager/lang/en.php
206 %lang(zh_CN) %{_appdir}/coverager/lang/zh-simplified.php
207 %lang(zh_CN) %{_appdir}/coverager/lang/zh-traditional.php
209 %dir %{_appdir}/diagnosis
210 %{_appdir}/diagnosis/*.css
211 %{_appdir}/diagnosis/*.php
212 %dir %{_appdir}/diagnosis/lang
213 %{_appdir}/diagnosis/lang/en.php
214 %lang(zh_CN) %{_appdir}/diagnosis/lang/zh-simplified.php
215 %lang(zh_CN) %{_appdir}/diagnosis/lang/zh-traditional.php