You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

216 lines
8.1 KiB

##
## php-eaccelerator.spec -- OpenPKG RPM Package Specification
## Copyright (c) 2000-2010 OpenPKG Foundation e.V. <http://openpkg.net/>
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
# package information
Name: php-eaccelerator
Summary: Zend/PHP Accelerator
URL: http://eaccelerator.net/
Vendor: Dmitry Stogov et al.
Packager: OpenPKG Foundation e.V.
Distribution: OpenPKG Community
Class: PLUS
Group: Language
License: GPL
Version: 0.9.5.3
Release: 20080519
# package options
%option with_apache yes
# list of sources
Source0: http://bart.eaccelerator.net/source/%{version}/eaccelerator-%{version}.tar.bz2
Patch0: php-eaccelerator.patch
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20040130, libtool, autoconf, automake
PreReq: OpenPKG, openpkg >= 20040130
BuildPreReq: php
PreReq: php
%if "%{with_apache}" == "yes"
PreReq: apache, apache-php
%endif
AutoReq: no
AutoReqProv: no
%description
eAccelerator is an accelerator, optimizer, encoder and dynamic
content cache for PHP/Zend. 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 to
speed up execution of PHP scripts. eAccelerator typically reduces
server load and increases the speed of PHP code by 1-10 times.
eAccelerator is a fork of TurckMMCache.
%track
prog php-eaccelerator = {
version = %{version}
url = http://bart.eaccelerator.net/source/
regex = (\d+(\.\d+)+)/
url = http://bart.eaccelerator.net/source/__NEWVER__/
regex = eaccelerator-(\d+(\.\d+)+)\.tar\.bz2
}
%prep
%setup -q -n eaccelerator-%{version}
%patch -p0
%build
# configure module
%{l_prefix}/bin/phpize
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
CPPFLAGS="%{l_cppflags}" \
LDFLAGS="%{l_ldflags}" \
GREP="grep" \
./configure \
--prefix=%{l_prefix} \
--with-php-config=%{l_prefix}/bin/php-config \
--enable-eaccelerator \
--with-eaccelerator-userid=%{l_nusr} \
--with-eaccelerator-crash-detection \
--with-eaccelerator-optimizer \
--with-eaccelerator-encoder \
--with-eaccelerator-loader \
--with-eaccelerator-sessions \
--with-eaccelerator-shared-memory \
--with-eaccelerator-content-caching \
--with-eaccelerator-disassembler \
--with-eaccelerator-info \
--enable-shared \
--disable-static
# build module
%{l_make} %{l_mflags -O}
%install
# create installation hierarchy
rm -rf $RPM_BUILD_ROOT
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/bin \
$RPM_BUILD_ROOT%{l_prefix}/libexec/php-eaccelerator \
$RPM_BUILD_ROOT%{l_prefix}/lib/php-eaccelerator \
$RPM_BUILD_ROOT%{l_prefix}/share/php-eaccelerator \
$RPM_BUILD_ROOT%{l_prefix}/var/php-eaccelerator
# install module
%{l_shtool} install -c -m 755 \
.libs/eaccelerator.so $RPM_BUILD_ROOT%{l_prefix}/libexec/php-eaccelerator/
# install administration user interface
%{l_shtool} install -c -m 644 \
control.php dasm.php $RPM_BUILD_ROOT%{l_prefix}/lib/php-eaccelerator/
# install PHP configuration
%{l_shtool} install -c -m 644 \
-e 's;^\(zend_extension="\)\(eaccelerator\.so.*\)$;\1%{l_prefix}/libexec/php-''eaccelerator/\2;' \
-e 's;/tmp/eaccelerator;%{l_prefix}/var/php-''eaccelerator;' \
-e 's/^\(eaccelerator\.log_file\)/; \1/' \
-e 's;/var/log/httpd/eaccelerator_log;%{l_prefix}/var/php-''eaccelerator/php-''eaccelerator.log;' \
-e 's;^\(eaccelerator.compress_level = "\)9\("\);\14\2;' \
-e 's;shm_and_disk;shm_only;' \
-e 's;^\(eaccelerator.allowed_admin_path = "\)\("\);\1%{l_prefix}/lib/php-''eaccelerator/\2;' \
eaccelerator.ini $RPM_BUILD_ROOT%{l_prefix}/share/php-eaccelerator/
# install encoder utility
( echo "#!/bin/sh"
echo "exec %{l_prefix}/bin/php -q %{l_prefix}/libexec/php-eaccelerator/encoder.php \"\$@\""
) >encoder
%{l_shtool} install -c -m 755 \
encoder $RPM_BUILD_ROOT%{l_prefix}/bin/php-encoder
%{l_shtool} install -c -m 644 \
encoder.php $RPM_BUILD_ROOT%{l_prefix}/libexec/php-eaccelerator/
# determine installation files
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
%{l_files_std} \
'%attr(1777,%{l_musr},%{l_mgrp}) %{l_prefix}/var/php-eaccelerator'
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT
%post
if [ ".$1" = .1 ]; then
# add hook to PHP configuration
phpini="$RPM_INSTALL_PREFIX/etc/php/php.ini"
if [ -f $phpini ]; then
cat $RPM_INSTALL_PREFIX/share/php-eaccelerator/eaccelerator.ini |\
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \
-a -i "$RPM_INSTALL_PREFIX:php-eaccelerator" -p ";" $phpini
fi
%if "%{with_apache}" == "yes"
# add hook to Apache/PHP configuration
phpini="$RPM_INSTALL_PREFIX/etc/apache/php.ini"
if [ -f $phpini ]; then
cat $RPM_INSTALL_PREFIX/share/php-eaccelerator/eaccelerator.ini |\
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \
-a -i "$RPM_INSTALL_PREFIX:php-eaccelerator" -p ";" $phpini
fi
# add hook to Apache configuration
apacheconf="$RPM_INSTALL_PREFIX/etc/apache/apache.conf"
if [ -f $apacheconf ]; then
( echo "Alias /php-eaccelerator $RPM_INSTALL_PREFIX/lib/php-eaccelerator"
) | $RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \
-a -i "$RPM_INSTALL_PREFIX:php-eaccelerator" $apacheconf
fi
# display final hints on installation
( echo "You can access the online administration control page under"
echo " http://localhost/php-eaccelerator/control.php"
echo "The login is \"admin\" with password \"eAccelerator\"."
) | %{l_rpmtool} msg -b -t notice
%endif
fi
%preun
# before erase, remove log files
[ $1 -eq 0 ] || exit 0
rm -f $RPM_INSTALL_PREFIX/var/php-eaccelerator/* >/dev/null 2>&1 || true
%postun
if [ ".$1" = .0 ]; then
# remove hook from PHP configuration
phpini="$RPM_INSTALL_PREFIX/etc/php/php.ini"
if [ -f $phpini ]; then
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \
-r -i "$RPM_INSTALL_PREFIX:php-eaccelerator" -p ";" $phpini
fi
%if "%{with_apache}" == "yes"
# remove hook from Apache/PHP configuration
phpini="$RPM_INSTALL_PREFIX/etc/apache/php.ini"
if [ -f $phpini ]; then
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \
-r -i "$RPM_INSTALL_PREFIX:php-eaccelerator" -p ";" $phpini
fi
# remove hook from Apache configuration
apacheconf="$RPM_INSTALL_PREFIX/etc/apache/apache.conf"
if [ -f $apacheconf ]; then
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \
-r -i "$RPM_INSTALL_PREFIX:php-eaccelerator" $apacheconf
fi
%endif
fi