Ключевые слова:php, rpm, linux, fedora, (найти похожие документы)
From: Александр Куликов <httpkaa.dp.uazend>
Newsgroups: email
Date: Mon, 2 Feb 2006 14:31:37 +0000 (UTC)
Subject: Превращение ZendOptimizer в rpm для Fedora Core
Превращение ZendOptimizer-%{version}-linux-glibc21-i386.tar.gz в rpm для Fedora core.
Задача сделать spec файл, который заменит инсталлятор.
Во время инсталляции ZendOptimizer выполняет следующее:
Копирует в /usr/local/Zend/lib библиотеки для разных версий php, заменим
этот путь на %{_libdir}/zend/ чтобы система сама определила куда эти
библиотеки инсталлировать.
Копирует php.ini в /usr/local/Zend/etc и дописывает в него секции [Zend]
это самое неприятное. Вместо этого будет сгенерирован файл
/etc/php.d/zend.ini
Итак получается следующий spec.
http://kaa.dp.ua/zend/zend.spec
Summary: Zend Optimizer
Name: zend
Version: 2.5.7
Release: 1.0
URL: http://kaa.dp.ua/zend/
Vendor: Studio 908
Source0: ZendOptimizer-%{version}-linux-glibc21-i386.tar.gz
License: GPL
Group: Development/Languages
BuildRoot: %{_tmppath}/%{name}-buildroot
#BuildPrereq: binutils
Requires: php
#Prereq:
#Provides:
#Obsoletes:
%define php_versions 4.2.x 4.3.x 5.0.x
%description
The Zend Optimizer is a free application that runs the files
encoded by the Zend Encoder and Zend SafeGuard Suite,
while enhancing the running speed of PHP applications.
%prep
%setup -q -n ZendOptimizer-%{version}-linux-glibc21-i386
%build
for ver in %{php_versions} ; do
veru=`echo ${ver} |sed 's/\./_/g'`
mkdir -p $RPM_BUILD_ROOT%{_libdir}/zend/Optimizer-2.1.0/php-${ver}
cp data/${veru}_comp/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/zend/Optimizer-2.1.0/php-${ver}/
mkdir -p $RPM_BUILD_ROOT%{_libdir}/zend/Optimizer_TS-2.1.0/php-${ver}
cp data/${veru}_comp/TS/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/zend/Optimizer_TS-2.1.0/php-${ver}/
done
cp data/ZendExtensionManager.so $RPM_BUILD_ROOT%{_libdir}/zend/
cp data/ZendExtensionManager_TS.so $RPM_BUILD_ROOT%{_libdir}/zend/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/php.d
cat > $RPM_BUILD_ROOT%{_sysconfdir}/php.d/zend.ini <<EOF
[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=%{_libdir}/zend/Optimizer-2.1.0
zend_extension_manager.optimizer_ts=%{_libdir}/zend/Optimizer_TS-2.1.0
zend_extension=%{_libdir}/zend/ZendExtensionManager.so
zend_extension_ts=%{_libdir}/zend/ZendExtensionManager_TS.so
EOF
%clean
%files
%defattr(-,root,root)
%config %{_sysconfdir}/php.d/zend.ini
%{_libdir}/zend/*
#%{_libdir}/zend/ZendExtensionManager.so
#%{_libdir}/zend/ZendExtensionManager_TS.so
#%{_libdir}/zend/Optimizer-2.1.0/php-4.3.x/ZendOptimizer.so
#%{_libdir}/zend/Optimizer_TS-2.1.0/php-4.3.x/ZendOptimizer.so
%changelog
* Thu May 05 2005 Alex Koff
- Project launched.