1 # DO NOT MODIFY CONTENTS OF PACKAGE - AGAINST LICENSE AND MAKES IT UNDISTRIBUTABLE
2 # AND ALSO IT IS ALREADY STRIPPED.
4 %define no_install_post_strip 1
5 %define no_install_post_compress_docs 1
6 %define no_install_post_chrpath 1
7 Summary: Zend Optimizer - PHP code optimizer
8 Summary(pl): Zend Optimizer - optymalizator kodu PHP
12 License: Zend License, distributable only if unmodified and for free (see LICENSE)
14 Source0: http://downloads.zend.com/optimizer/2.5.10/%{name}-%{version}-linux-glibc21-i386.tar.gz
15 # NoSource0-md5: 3064cb6d33f0d4800cf84b8a5521cd48
16 Source1: http://downloads.zend.com/optimizer/2.5.10/%{name}-%{version}-linux-glibc23-x86_64.tar.gz
17 # NoSource1-md5: 6d7e50b1875fb77eff7d0cc6ff45db32
20 URL: http://www.zend.com/zend/optimizer.php
21 BuildRequires: rpmbuild(macros) >= 1.213
22 BuildRequires: tar >= 1:1.15.1
23 Requires(post): grep >= 2:2.5.1
24 Requires(post): sed >= 4.0.0
25 # circular dependency, so ones upgraded are forced to choose php and
26 # ones that want to install specific for specific version need not to
27 # install ZendOptimizer separately
28 Requires: ZendOptimizer(php)
29 ExclusiveArch: %{ix86} %{x8664}
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 Zend Optimizer - PHP code optimizer.
36 Zend Optimizer - optymalizator kodu PHP.
38 %package -n php4-%{name}
41 PreReq: ZendOptimizer = %{version}-%{release}
42 Requires: php >= 3:4.0.6
43 Provides: ZendOptimizer(php)
45 %description -n php4-%{name}
47 %package -n php-%{name}
50 PreReq: ZendOptimizer = %{version}-%{release}
51 Requires: php >= 3:5.0.0
52 Provides: ZendOptimizer(php)
54 %description -n php-%{name}
60 %{__tar} --strip-components=1 -zxf %{SOURCE0}
63 %{__tar} --strip-components=1 -zxf %{SOURCE1}
67 rm -rf $RPM_BUILD_ROOT
68 install -d $RPM_BUILD_ROOT{%{_libdir}/Zend/lib/Optimizer{,_TS}-%{version},%{_bindir},/etc/php{,4},}
69 install -d $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer-%{version}/php-{4.0.6,4.1.x,4.2.0,4.2.x,4.3.x,4.4.x,5.0.x}
70 install -d $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-{4.2.x,4.3.x,4.4.x,5.0.x}
72 echo "zend_optimizer.version=%{version}" > $RPM_BUILD_ROOT/etc/php4/pack.ini
73 echo "zend_optimizer.version=%{version}" > $RPM_BUILD_ROOT/etc/php/pack.ini
76 install zendid $RPM_BUILD_ROOT%{_bindir}
77 install poweredbyoptimizer.gif $RPM_BUILD_ROOT%{_sysconfdir}/php
78 install *.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib
81 d=$(basename $a _comp | tr _ .)
82 install -D $a/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer-%{version}/php-$d/ZendOptimizer.so
84 for a in *_comp/TS; do
85 d=$(basename $(dirname $a) _comp | tr _ .)
86 install -D $a/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-$d/ZendOptimizer.so
89 ln -s %{_sysconfdir}/php $RPM_BUILD_ROOT%{_libdir}/Zend/etc
90 ln -s %{_bindir} $RPM_BUILD_ROOT%{_libdir}/Zend/bin
92 cat <<'EOF' > zendoptimizer.ini
94 zend_optimizer.optimization_level=15
95 zend_extension_manager.optimizer=%{_libdir}/Zend/lib/Optimizer-%{version}
96 zend_extension_manager.optimizer_ts=%{_libdir}/Zend/lib/Optimizer_TS-%{version}
97 zend_extension=%{_libdir}/Zend/lib/ZendExtensionManager.so
98 zend_extension_ts=%{_libdir}/Zend/lib/ZendExtensionManager_TS.so
101 install -d $RPM_BUILD_ROOT%{_sysconfdir}/php{,4}/conf.d
102 install zendoptimizer.ini $RPM_BUILD_ROOT%{_sysconfdir}/php4/conf.d/%{name}.ini
103 install zendoptimizer.ini $RPM_BUILD_ROOT%{_sysconfdir}/php/conf.d/%{name}.ini
106 rm -rf $RPM_BUILD_ROOT
108 # NOTE THIS MIGHT BE INSECURE WHEN SOMEONE IS USING COMMERCIAL ZEND PRODUCTS
109 # THEN AGAIN HE/SHE SHOULD USE THEIR OPTIMIZER
111 if [ "$1" = "0" ]; then
113 # just php5, php4 has confdir
114 for php in /etc/php/php.ini; do
116 echo "deactivating module 'ZendOptimizer.so' in $php" 1>&2
117 grep -v '\[Zend\]' $php |\
118 grep -v zend_extension |grep -v zend_optimizer > $php.tmp
123 if [ -f /etc/apache/conf.d/??_mod_php4.conf ] && [ -f /var/lock/subsys/apache ]; then
124 /etc/rc.d/init.d/apache restart 1>&2
127 if [ -f /etc/httpd/httpd.conf/??_mod_php4.conf ] && [ -f /var/lock/subsys/httpd ]; then
128 /etc/rc.d/init.d/httpd restart 1>&2
134 for php in /etc/php/php.ini; do
135 # just php5, php4 has confdir
137 echo "activating module 'ZendOptimizer.so' in $php" 1>&2
138 if grep -q ^zend_optimizer.optimization_level ; then
139 optlevel=`grep ^zend_optimizer $php|cut -d'=' -f2|tr -d ' '|tr -d '"'|tr -d "'"|tr -d ';'`
143 cp $php{,.zend-backup}
144 grep -v zend_optimizer.optimization_level $php | \
145 grep -v zend_extension > $php.tmp
146 echo '[Zend]' >> $php.tmp
147 echo "zend_optimizer.optimization_level=$optlevel" >> $php.tmp
148 echo "zend_extension_manager.optimizer=%{_libdir}/Zend/lib/Optimizer-%{version}" >> $php.tmp
149 echo "zend_extension_manager.optimizer_ts=%{_libdir}/Zend/lib/Optimizer_TS-%{version}" >> $php.tmp
150 echo "zend_extension=%{_libdir}/Zend/lib/ZendExtensionManager.so" >> $php.tmp
151 echo "zend_extension_ts=%{_libdir}/Zend/lib/ZendExtensionManager_TS.so" >> $php.tmp
157 if [ -f /etc/apache/conf.d/??_mod_php4.conf ] && [ -f /var/lock/subsys/apache ]; then
158 /etc/rc.d/init.d/apache restart 1>&2
161 if [ -f /etc/httpd/httpd.conf/??_mod_php4.conf ] && [ -f /var/lock/subsys/httpd ]; then
162 /etc/rc.d/init.d/httpd restart 1>&2
165 echo "Remember: Read the %{_docdir}/ZendOptimizer-%{version}/LICENSE.gz !"
167 # TODO: trigger for removing [Zend] section from php.ini
170 %defattr(644,root,root,755)
171 %doc data/doc LICENSE
172 %attr(755,root,root) %{_bindir}/zendid
173 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/php/pack.ini
174 %{_sysconfdir}/php/poweredbyoptimizer.gif
177 %dir %{_libdir}/Zend/lib
178 %dir %{_libdir}/Zend/lib/Optimizer-%{version}
179 %dir %{_libdir}/Zend/lib/Optimizer-%{version}/php-*
180 %dir %{_libdir}/Zend/lib/Optimizer_TS-%{version}
181 %dir %{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-*
182 %attr(755,root,root) %{_libdir}/Zend/lib/Optimizer-%{version}/php-*/ZendOptimizer.so
183 %attr(755,root,root) %{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-*/ZendOptimizer.so
184 %attr(755,root,root) %{_libdir}/Zend/lib/ZendExtensionManager.so
185 %attr(755,root,root) %{_libdir}/Zend/lib/ZendExtensionManager_TS.so
189 %files -n php4-%{name}
190 %defattr(644,root,root,755)
191 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/php4/conf.d/*.ini
193 %files -n php-%{name}
194 %defattr(644,root,root,755)
195 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/php/conf.d/*.ini