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: %{name}-%{version}-linux-glibc21-i386.tar.gz
15 # Source0-md5: 6da78a6298e2a6f6d9662a25130367dd
16 Source1: %{name}-%{version}-linux-glibc23-amd64.tar.gz
17 # Source1-md5: e4d6f2bdd1e39fb44f1080af8a32e4f4
18 URL: http://www.zend.com/zend/optimizer.php
19 BuildRequires: rpmbuild(macros) >= 1.213
20 Requires(post): grep >= 2:2.5.1
21 Requires(post): sed >= 4.0.0
22 # circular dependency, so ones upgraded are forced to choose php and
23 # ones that want to install specific for specific version need not to
24 # install ZendOptimizer separately
25 Requires: ZendOptimizer(php)
26 ExclusiveArch: %{ix86} %{x8664}
27 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30 Zend Optimizer - PHP code optimizer.
33 Zend Optimizer - optymalizator kodu PHP.
35 %package -n php4-%{name}
38 PreReq: ZendOptimizer = %{version}-%{release}
39 Requires: php >= 3:4.0.6
40 Provides: ZendOptimizer(php)
42 %description -n php4-%{name}
44 %package -n php-%{name}
47 PreReq: ZendOptimizer = %{version}-%{release}
48 Requires: php >= 3:5.0.0
49 Provides: ZendOptimizer(php)
51 %description -n php-%{name}
57 %{__tar} xfz %{SOURCE0}
60 %{__tar} xfz %{SOURCE1}
64 rm -rf $RPM_BUILD_ROOT
65 install -d $RPM_BUILD_ROOT{%{_libdir}/Zend/lib/Optimizer{,_TS}-%{version},%{_bindir},/etc/php,}
66 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,5.0.x}
67 install -d $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-{4.2.x,4.3.x,5.0.x}
70 cd %{name}-%{version}-linux-glibc21-i386
74 cd %{name}-%{version}-linux-glibc23-amd64
77 echo "zend_optimizer.version=%{version}" > $RPM_BUILD_ROOT%{_sysconfdir}/php/pack.ini
80 install zendid $RPM_BUILD_ROOT%{_bindir}
81 install poweredbyoptimizer.gif $RPM_BUILD_ROOT%{_sysconfdir}/php
82 install *.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib
84 install 4_0_6_comp/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer-%{version}/php-4.0.6
85 install 4_1_x_comp/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer-%{version}/php-4.1.x
86 install 4_2_0_comp/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer-%{version}/php-4.2.0
87 install 4_2_x_comp/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer-%{version}/php-4.2.x
88 install 4_3_x_comp/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer-%{version}/php-4.3.x
89 install 5_0_x_comp/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer-%{version}/php-5.0.x
91 install 4_2_x_comp/TS/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-4.2.x
92 install 4_3_x_comp/TS/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-4.3.x
93 install 5_0_x_comp/TS/ZendOptimizer.so $RPM_BUILD_ROOT%{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-5.0.x
95 ln -s %{_sysconfdir}/php $RPM_BUILD_ROOT%{_libdir}/Zend/etc
96 ln -s %{_bindir} $RPM_BUILD_ROOT%{_libdir}/Zend/bin
98 cat <<'EOF' > zend.ini
100 zend_optimizer.optimization_level=15
101 zend_extension_manager.optimizer=%{_libdir}/Zend/lib/Optimizer-%{version}
102 zend_extension_manager.optimizer_ts=%{_libdir}/Zend/lib/Optimizer_TS-%{version}
103 zend_extension=%{_libdir}/Zend/lib/ZendExtensionManager.so
104 zend_extension_ts=%{_libdir}/Zend/lib/ZendExtensionManager_TS.so
107 install -d $RPM_BUILD_ROOT%{_sysconfdir}/php{,4}/conf.d
108 install zend.ini $RPM_BUILD_ROOT%{_sysconfdir}/php4/conf.d/%{name}.ini
109 install zend.ini $RPM_BUILD_ROOT%{_sysconfdir}/php/conf.d/%{name}.ini
112 rm -rf $RPM_BUILD_ROOT
114 # NOTE THIS MIGHT BE INSECURE WHEN SOMEONE IS USING COMMERCIAL ZEND PRODUCTS
115 # THEN AGAIN HE/SHE SHOULD USE THEIR OPTIMIZER
117 if [ "$1" = "0" ]; then
119 # just php5, php4 has confdir
120 for php in /etc/php/php.ini; do
122 echo "deactivating module 'ZendOptimizer.so' in $php" 1>&2
123 grep -v '\[Zend\]' $php |\
124 grep -v zend_extension |grep -v zend_optimizer > $php.tmp
129 if [ -f /etc/apache/conf.d/??_mod_php4.conf ] && [ -f /var/lock/subsys/apache ]; then
130 /etc/rc.d/init.d/apache restart 1>&2
133 if [ -f /etc/httpd/httpd.conf/??_mod_php4.conf ] && [ -f /var/lock/subsys/httpd ]; then
134 /etc/rc.d/init.d/httpd restart 1>&2
140 for php in /etc/php/php.ini; do
141 # just php5, php4 has confdir
143 echo "activating module 'ZendOptimizer.so' in $php" 1>&2
144 if grep -q ^zend_optimizer.optimization_level ; then
145 optlevel=`grep ^zend_optimizer $php|cut -d'=' -f2|tr -d ' '|tr -d '"'|tr -d "'"|tr -d ';'`
149 cp $php{,.zend-backup}
150 grep -v zend_optimizer.optimization_level $php | \
151 grep -v zend_extension > $php.tmp
152 echo '[Zend]' >> $php.tmp
153 echo "zend_optimizer.optimization_level=$optlevel" >> $php.tmp
154 echo "zend_extension_manager.optimizer=%{_libdir}/Zend/lib/Optimizer-%{version}" >> $php.tmp
155 echo "zend_extension_manager.optimizer_ts=%{_libdir}/Zend/lib/Optimizer_TS-%{version}" >> $php.tmp
156 echo "zend_extension=%{_libdir}/Zend/lib/ZendExtensionManager.so" >> $php.tmp
157 echo "zend_extension_ts=%{_libdir}/Zend/lib/ZendExtensionManager_TS.so" >> $php.tmp
163 if [ -f /etc/apache/conf.d/??_mod_php4.conf ] && [ -f /var/lock/subsys/apache ]; then
164 /etc/rc.d/init.d/apache restart 1>&2
167 if [ -f /etc/httpd/httpd.conf/??_mod_php4.conf ] && [ -f /var/lock/subsys/httpd ]; then
168 /etc/rc.d/init.d/httpd restart 1>&2
171 echo "Remember: Read the %{_docdir}/ZendOptimizer-%{version}/LICENSE !"
173 # TODO: trigger for removing [Zend] section from php.ini
176 %defattr(644,root,root,755)
178 %doc %{name}-%{version}-linux-glibc21-i386/data/doc %{name}-%{version}-linux-glibc21-i386/LICENSE
181 %doc %{name}-%{version}-linux-glibc23-amd64/data/doc %{name}-%{version}-linux-glibc23-amd64/LICENSE
183 %attr(755,root,root) %{_bindir}/zendid
184 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/php/pack.ini
185 %{_sysconfdir}/php/poweredbyoptimizer.gif
187 %dir %{_libdir}/Zend/lib
188 %dir %{_libdir}/Zend/lib/Optimizer-%{version}/php-4.0.6
189 %dir %{_libdir}/Zend/lib/Optimizer-%{version}/php-4.1.x
190 %dir %{_libdir}/Zend/lib/Optimizer-%{version}/php-4.2.0
191 %dir %{_libdir}/Zend/lib/Optimizer-%{version}/php-4.2.x
192 %dir %{_libdir}/Zend/lib/Optimizer-%{version}/php-4.3.x
193 %dir %{_libdir}/Zend/lib/Optimizer-%{version}/php-5.0.x
194 %dir %{_libdir}/Zend/lib/Optimizer-%{version}
195 %dir %{_libdir}/Zend/lib/Optimizer_TS-%{version}
196 %dir %{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-4.2.x
197 %dir %{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-4.3.x
198 %dir %{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-5.0.x
201 %{_libdir}/Zend/lib/Optimizer-%{version}/php-4.0.6/ZendOptimizer.so
202 %{_libdir}/Zend/lib/Optimizer-%{version}/php-4.1.x/ZendOptimizer.so
203 %{_libdir}/Zend/lib/Optimizer-%{version}/php-4.2.0/ZendOptimizer.so
204 %{_libdir}/Zend/lib/Optimizer-%{version}/php-4.2.x/ZendOptimizer.so
205 %{_libdir}/Zend/lib/Optimizer-%{version}/php-4.3.x/ZendOptimizer.so
206 %{_libdir}/Zend/lib/Optimizer-%{version}/php-5.0.x/ZendOptimizer.so
207 %{_libdir}/Zend/lib/ZendExtensionManager.so
208 %{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-4.2.x/ZendOptimizer.so
209 %{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-4.3.x/ZendOptimizer.so
210 %{_libdir}/Zend/lib/Optimizer_TS-%{version}/php-5.0.x/ZendOptimizer.so
211 %{_libdir}/Zend/lib/ZendExtensionManager_TS.so
213 %files -n php4-%{name}
214 %defattr(644,root,root,755)
215 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/php4/conf.d/*.ini
217 %files -n php-%{name}
218 %defattr(644,root,root,755)
219 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/php/conf.d/*.ini