%define phpsource %{_prefix}/src/php-devel %{expand:%(cat /usr/src/php-devel/PHP_BUILD||(echo -e "error: failed build dependencies:\n php-devel >= 430 (4.3.0) is needed by this package." >/dev/stderr;kill -2 $PPID))} %define rversion 2.4.6 %define release 4mdk %define realname mmcache %define modname mmcache %define dirname %{modname} %define soname %{modname}.so %define inifile 99_%{modname}.ini Summary: Turck MMCache is a PHP Accelerator and Encoder Name: php-%{modname} Version: %{phpversion}_%{rversion} Release: %{release} Group: System/Servers URL: http://turck-mmcache.sourceforge.net/ License: GPL Source0: turck-mmcache-%{rversion}.tar.bz2 Source1: turck-mmcache.ini.bz2 Source2: mmcache.png # http://phpcoder.shadonet.com/ Source3: phpcoder-1.3.tar.bz2 Patch0: turck-mmcache-2.4.6-cache_file_location.patch.bz2 #Requires: libphp_common%{libversion} Requires: php%{libversion} Requires: php-cli BuildRequires: php%{libversion}-devel BuildRoot: %{_tmppath}/%{name}-root Provides: ADVXpackage Conflicts: php-afterburner php-apc %description Turck MMCache is a opcode cache for PHP. It increases performance of PHP scripts by caching them in compiled state, so that the overhead of compiling is almost completely eliminated. Also it uses some optimizations for speed up of PHP scripts execution. Turck MMCache typically reduces server load and increases the speed of your PHP code by 1-10 times. Since the version 2.3.10, Turck MMCache contains PHP encoder and loader. You can encode any PHP scripts with encoder.php to distribute them without sources. Encoded files can be run on any site which runs PHP with Turck MMCache 2.3.10. The sources of encoded script can't be restored because they are stored in a compiled form and the encoded version doesn't contain the source. Of course, some internals of your program can be restored with different reverse engineering tools (disassemblers, debuggers, etc). %package TurckLoader Summary: Standalone loader of Turck MMCache's cached files Group: System/Servers #Conflicts: %{name} ??? Provides: ADVXpackage %description TurckLoader TurckLoader is a PHP extension that can load scripts that was encoded by the Turck MMCache Encoder. It is a PHP extension and it should be compatible with Zend Optimizer, Zend Performance Suite, ionCube loader, PHP Accelerator and other PHP extensions. TurckLoader is not needed with Turck MMCache, because Turck MMCache already has loader compiled in. %package admin Summary: WEB interface for Turck MMCache Group: System/Servers Requires: %{name} = %{version} Provides: ADVXpackage %description admin Turck MMCache can be managed using this web interface. %prep %setup -q -n turck-mmcache-%{rversion} -a3 %patch0 -p0 -b .cache_file_location %build # fix strange file permissions find . -type f|xargs chmod 644 phpize %configure \ --enable-mmcache=shared \ --with-mmcache-crash-detection \ --with-mmcache-optimizer \ --with-mmcache-encoder \ --with-mmcache-loader \ --with-mmcache-sessions \ --with-mmcache-content-caching \ --with-mmcache-disassembler \ --without-mmcache-executor %make mv modules/*.so . pushd TurckLoader sh ./create_links phpize %configure \ --enable-turck-loader %make mv modules/*.so ../ %install [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} install -d %{buildroot}%{_bindir} install -d %{buildroot}%{phpdir}/extensions install -d %{buildroot}%{_sysconfdir}/php install -d %{buildroot}/var/www/icons install -d %{buildroot}/var/www/html/admin/php-mmcache install -d %{buildroot}/var/www/html/admin/phpcoder install -d %{buildroot}/var/cache/httpd/php-mmcache cat > README.%{modname} << EOF The %{name} package contains a dynamic shared object (DSO) for PHP. EOF bzcat %{SOURCE1} > %{buildroot}%{_sysconfdir}/php/%{inifile} install -m755 %{soname} %{buildroot}%{phpdir}/extensions/ install -m755 encoder.php %{buildroot}%{_bindir}/mmcache-encoder install -m644 mmcache.php %{buildroot}/var/www/html/admin/php-mmcache/index.php install -m644 mmcache_password.php %{buildroot}/var/www/html/admin/php-mmcache/mmcache_password.php install -m644 %{SOURCE2} %{buildroot}/var/www/icons/mmcache.png # install phpcoder mv phpcoder/CHANGELOG CHANGELOG.phpcoder mv phpcoder/LICENSE LICENSE.phpcoder mv phpcoder/README.txt README.phpcoder mv phpcoder/HELP.html HELP.phpcoder.html install -m644 phpcoder/coder-class.php %{buildroot}/var/www/html/admin/phpcoder/ install -m644 phpcoder/index.php %{buildroot}/var/www/html/admin/phpcoder/ # install TurckLoader install -m755 TurckLoader.so %{buildroot}%{phpdir}/extensions/ cat > 99_TurckLoader.ini << EOF extension = TurckLoader.so EOF install -m644 99_TurckLoader.ini %{buildroot}%{_sysconfdir}/php/99_TurckLoader.ini # fix a simple .htaccess file cat > .htaccess << EOF Order deny,allow Deny from all Allow from 127.0.0.1 EOF install -m644 .htaccess %{buildroot}/var/www/html/admin/php-mmcache/ install -m644 .htaccess %{buildroot}/var/www/html/admin/phpcoder/ %clean [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %files %defattr(-,root,root) %doc CREDITS EXPERIMENTAL README TODO README.%{modname} %doc CHANGELOG.phpcoder LICENSE.phpcoder README.phpcoder HELP.phpcoder.html %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/php/%{inifile} %attr(0755,root,root) %{_bindir}/mmcache-encoder %{phpdir}/extensions/%{soname} %attr(0644,root,root) /var/www/icons/mmcache.png %dir %attr(0777,apache,apache) /var/cache/httpd/php-mmcache %files TurckLoader %defattr(-,root,root) %doc README.loader %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/php/99_TurckLoader.ini %{phpdir}/extensions/TurckLoader.so %dir %attr(0777,apache,apache) /var/cache/httpd/php-mmcache %files admin %defattr(-,root,root) %attr(0644,root,root) /var/www/html/admin/php-mmcache/index.php %attr(0644,root,root) /var/www/html/admin/php-mmcache/mmcache_password.php %attr(0644,root,root) /var/www/html/admin/phpcoder/coder-class.php %attr(0644,root,root) /var/www/html/admin/phpcoder/index.php %attr(0644,root,root) /var/www/html/admin/php-mmcache/.htaccess %attr(0644,root,root) /var/www/html/admin/phpcoder/.htaccess %changelog * Sun Nov 16 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.4_2.4.6-4mdk - fix one silly error * Sat Nov 15 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.4_2.4.6-3mdk - provide the TurckLoader and admin features as sub packages, used ideas by PLD - added .htaccess security files * Sun Nov 09 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.4_2.4.6-2mdk - rebuilt for re-upload * Wed Nov 05 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.4_2.4.6-1mdk - built for php 4.3.4 * Wed Nov 05 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.3_2.4.6-2mdk - make cache dir msec safe * Wed Nov 05 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.3_2.4.6-1mdk - 2.4.6 * Fri Oct 31 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.3_2.4.5-1mdk - 2.4.5 * Fri Oct 24 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.3_2.4.4-1mdk - 2.4.4 * Mon Oct 20 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.3_2.4.3-1mdk - 2.4.3 * Mon Oct 13 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.3_2.4.2-1mdk - 2.4.2 * Mon Sep 29 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.3_2.4.1-1mdk - 2.4.1 - updated S1 - new url * Tue Sep 23 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.3_2.4.0-1mdk - 2.4.0 - fix explicit-lib-dependency * Wed Aug 27 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.3_2.3.23-1mdk - built for php 4.3.3 - misc spec file fixes * Wed Aug 20 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.23-1mdk - 2.3.23 * Tue Aug 19 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.22-2mdk - oops!, mmcache-executor wasn't implemented yet..., bummer! - added phpcoder * Tue Aug 12 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.22-1mdk - 2.3.22 - fixed S1 - misc spec file fixes * Fri Aug 01 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.21-1mdk - 2.3.21 * Fri Jul 25 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.20-1mdk - 2.3.20 * Fri Jul 11 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.19-1mdk - 2.3.19 * Wed Jun 25 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.17-1mdk - 2.3.17 * Mon Jun 23 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.16-1mdk - 2.3.16 * Wed Jun 11 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.15-1mdk - 2.3.15 - fixed S1 - added S2 * Fri Jun 06 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.14-1mdk - 2.3.14 - updated S1 * Tue Jun 03 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.2_2.3.13-1mdk - 2.3.13 - built for 4.3.2 - mm is not needed anymore * Mon May 19 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.1_2.3.11-1mdk - 2.3.11 * Fri May 09 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.1_2.3.10-1mdk - 2.3.10 - fix P0 - misc spec file fixes * Mon Apr 21 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.1_2.3.9-2mdk - fix cache file location (P0) * Thu Apr 10 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.1_2.3.9-1mdk - 2.3.9 * Fri Apr 04 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.1_2.3.8-1mdk - 2.3.8 * Thu Mar 06 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.1_2.3.7-1mdk - 2.3.7 - fix S1 and add cache dir * Tue Mar 04 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.1_2.3.6-1mdk - 2.3.6 - misc spec file fixes * Wed Feb 26 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.1_2.3.5-1mdk - 2.3.5 - updated S1 * Wed Feb 19 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.1_2.3.3-1mdk - rebuilt against php-4.3.1 * Sat Feb 08 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 4.3.0_2.3.3-1mdk - initial cooker contrib