X-Git-Url: https://git.pld-linux.org/?p=packages%2Fphp-xcache.git;a=blobdiff_plain;f=php-xcache.spec;h=08054890e76eab195a39079f7588648fc92c60bc;hp=95d69cfb3e43e31c7d102543c0aeb97d4adae19f;hb=HEAD;hpb=99ae26ca1b6da32aae323e9b361b3a80c83d40ff diff --git a/php-xcache.spec b/php-xcache.spec index 95d69cf..0805489 100644 --- a/php-xcache.spec +++ b/php-xcache.spec @@ -1,62 +1,216 @@ -%define _modname xcache -%define _sysconfdir /etc/php -%define extensionsdir %(php-config --extension-dir 2>/dev/null) -Summary: %{_modname} - PHP opcode cacher -Name: php-%{_modname} -Version: 1.0 -Release: 0.2 +# TODO +# - verify %lang codes +# +# Conditional build: +%bcond_without web # make web package + +# build "web" only for 5.5 version +%if 0%{?_pld_builder:1} && "%{?php_suffix}" != "55" +%undefine with_web +%endif + +%define php_name php%{?php_suffix} +%define modname xcache +Summary: %{modname} - PHP opcode cacher +Summary(pl.UTF-8): %{modname} - buforowanie opcodów PHP +Name: %{php_name}-%{modname} +# 3.2.0 leaks fds, use xcache-3.1 branch for now +# http://xcache.lighttpd.net/ticket/363 +Blocker +Version: 3.2.0 +Release: 0.1 License: BSD Group: Development/Languages/PHP -URL: http://trac.lighttpd.net/xcache/ -Source0: http://210.51.190.228/pub/XCache/Releases/xcache-%{version}.tar.gz -# Source0-md5: a4e2ff36f16b096f24d3edd9b6ab411b -BuildRequires: php-devel >= 3:5.0 -BuildRequires: rpmbuild(macros) >= 1.254 +Source0: http://xcache.lighttpd.net/pub/Releases/%{version}/xcache-%{version}.tar.bz2 +# Source0-md5: 3655bd20483dc23d24f87f9dc924a62e +Source1: %{modname}-apache.conf +Source2: %{modname}-lighttpd.conf +Patch0: config.patch +Patch1: ini-settings.patch +URL: http://xcache.lighttpd.net/ +BuildRequires: %{php_name}-devel >= 4:5.2.17-8 +BuildRequires: rpmbuild(macros) >= 1.344 BuildRequires: sed >= 4.0 -%{?requires_php_extension} -Requires: %{_sysconfdir}/conf.d +%{?requires_zend_extension} +Requires: php(core) >= 5.0.4 +Requires(triggerpostun): sed >= 4.0 +Provides: php(xcache) = %{version} +Obsoletes: php-xcache < 3.1.0-3 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define _webapps /etc/webapps +%define _webapp %{modname} +%define _sysconfdir %{_webapps}/%{_webapp} +%define _appdir %{_datadir}/%{_webapp} + %description XCache is a fast, stable PHP opcode cacher that has been tested and is now running on production servers under high load. +%description -l pl.UTF-8 +XCache to szybkie, stabilne buforowanie opcodów PHP, przetestowane i +działające na produkcyjnych serwerach o dużym obciążeniu. + +%package -n php-xcache-web +Summary: WEB interface for xCache +Group: Libraries +Requires: %{name} = %{version}-%{release} +Requires: webapps +Requires: webserver(access) +Requires: webserver(php) >= 5.0 +Obsoletes: php55-xcache-web < 3.1.0-5 +BuildArch: noarch + +%description -n php-xcache-web +Via this web interface script you can manage and view statistics of +xCache. + +More information you can find at %{url}. + %prep -%setup -q -n xcache +%setup -q -n %{modname}-%{version} +%patch0 -p1 +%patch1 -p1 +%{__sed} -i.bak -e ' + s,@extensiondir@,%{php_extensiondir}, +' xcache.ini + +mv htdocs/config{.default,}.php +mv htdocs/config.example.php config.example.php +mv htdocs/cacher/config{.default,}.php +mv htdocs/cacher/config.example.php cacher.config.example.php +mv htdocs/coverager/config{.default,}.php +mv htdocs/coverager/config.example.php coverager.config.example.php + +%{__rm} htdocs/common/lang/*.po +%{__rm} htdocs/coverager/lang/*.po +%{__rm} htdocs/cacher/lang/*.po + +# wtf? +%{__rm} htdocs/diagnosis/lang/zh-tranditional.php %build phpize -%configure +%configure \ + --enable-xcache \ + --enable-xcache-optimizer \ + --enable-xcache-coverager %{__make} -%{__sed} -i -e ' - s,zend_extension =.*,zend_extension = %{extensiondir}/xcache.so, - s,zend_extension_ts = .*,zend_extension_ts = %{extensiondir}/xcache.so, -' xcache.ini %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT%{_sysconfdir}/conf.d - %{__make} install \ INSTALL_ROOT=$RPM_BUILD_ROOT -install xcache.ini $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/%{_modname}.ini +install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d +cp -p xcache.ini $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini + +# The cache directory where pre-compiled files will reside +install -d $RPM_BUILD_ROOT/var/cache/php-%{modname} + +%if %{with web} +install -d $RPM_BUILD_ROOT{%{_appdir},%{_sysconfdir}} +cp -a htdocs/* $RPM_BUILD_ROOT%{_appdir} +%{__rm} $RPM_BUILD_ROOT%{_appdir}/diagnosis/lang/*.po + +mv $RPM_BUILD_ROOT{%{_appdir},%{_sysconfdir}}/config.php +mv $RPM_BUILD_ROOT{%{_appdir}/cacher/config.php,%{_sysconfdir}/cacher.config.php} +mv $RPM_BUILD_ROOT{%{_appdir}/coverager/config.php,%{_sysconfdir}/coverager.config.php} +ln -s %{_sysconfdir}/config.php $RPM_BUILD_ROOT%{_appdir}/config.php +ln -s %{_sysconfdir}/cacher.config.php $RPM_BUILD_ROOT%{_appdir}/cacher/config.php +ln -s %{_sysconfdir}/coverager.config.php $RPM_BUILD_ROOT%{_appdir}/coverager/config.php +cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf +cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf +cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf +%endif %clean rm -rf $RPM_BUILD_ROOT %post -[ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart -[ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart +%php_webserver_restart %postun if [ "$1" = 0 ]; then - [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart - [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart + %php_webserver_restart fi +%triggerpostun -- %{name} < 3.0.0-0.8 +%{__sed} -i -e 's,zend_extension,extension,' %{php_sysconfdir}/conf.d/%{modname}.ini + +%triggerin -n php-xcache-web -- apache1 < 1.3.37-3, apache1-base +%webapp_register apache %{_webapp} + +%triggerun -n php-xcache-web -- apache1 < 1.3.37-3, apache1-base +%webapp_unregister apache %{_webapp} + +%triggerin -n php-xcache-web -- apache < 2.2.0, apache-base +%webapp_register httpd %{_webapp} + +%triggerun -n php-xcache-web -- apache < 2.2.0, apache-base +%webapp_unregister httpd %{_webapp} + +%triggerin -n php-xcache-web -- lighttpd +%webapp_register lighttpd %{_webapp} + +%triggerun -n php-xcache-web -- lighttpd +%webapp_unregister lighttpd %{_webapp} + %files %defattr(644,root,root,755) %doc AUTHORS README THANKS -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/%{_modname}.ini -%attr(755,root,root) %{extensionsdir}/%{_modname}.so +%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini +%attr(755,root,root) %{php_extensiondir}/%{modname}.so + +# XXX: what for this dir is used? +%dir %attr(775,root,http) /var/cache/php-xcache + +%if %{with web} +%files -n php-xcache-web +%defattr(644,root,root,755) +%doc config*.example.php +%dir %attr(750,root,http) %{_sysconfdir} +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf +%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php +%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cacher.config.php +%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/coverager.config.php +%dir %{_appdir} +%{_appdir}/*.php + +%dir %{_appdir}/common +%{_appdir}/common/*.css +%{_appdir}/common/*.js +%{_appdir}/common/*.php +%{_appdir}/common/*.png +%dir %{_appdir}/common/lang +%{_appdir}/common/lang/en.php +%lang(cn) %{_appdir}/common/lang/zh-simplified.php +%lang(cn) %{_appdir}/common/lang/zh-traditional.php + +%dir %{_appdir}/cacher +%{_appdir}/cacher/*.css +%{_appdir}/cacher/*.php +%{_appdir}/cacher/sub +%dir %{_appdir}/cacher/lang +%{_appdir}/cacher/lang/en.php +%lang(zh_CN) %{_appdir}/cacher/lang/zh-simplified.php +%lang(zh_CN) %{_appdir}/cacher/lang/zh-traditional.php + +%dir %{_appdir}/coverager +%{_appdir}/coverager/*.css +%{_appdir}/coverager/*.php +%dir %{_appdir}/coverager/lang +%{_appdir}/coverager/lang/en.php +%lang(zh_CN) %{_appdir}/coverager/lang/zh-simplified.php +%lang(zh_CN) %{_appdir}/coverager/lang/zh-traditional.php + +%dir %{_appdir}/diagnosis +%{_appdir}/diagnosis/*.css +%{_appdir}/diagnosis/*.php +%dir %{_appdir}/diagnosis/lang +%{_appdir}/diagnosis/lang/en.php +%lang(zh_CN) %{_appdir}/diagnosis/lang/zh-simplified.php +%lang(zh_CN) %{_appdir}/diagnosis/lang/zh-traditional.php +%endif