%bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs)
%bcond_with oci8 # with Oracle oci8 extension module (BR: proprietary libs)
%bcond_with system_gd # with system gd (we prefer internal since it enables few more features)
+%bcond_with system_libzip # with system libzip (reported broken: https://bugs.php.net/bug.php?id=60100)
%bcond_with gd_jis_conv # causes imagettfbbox(): any2eucjp(): invalid code in input string when internal gd used
%bcond_with zend_multibyte # enable zend multibyte, mbstring can't be shared then anymore
%bcond_without curl # without CURL extension module
%bcond_without apache1 # disable building Apache 1.3.x module
%bcond_without apache2 # disable building Apache 2.x module
%bcond_without fcgi # disable building FCGI SAPI
-%bcond_without zts # disable Zend Thread Safety
+%bcond_with zts # disable Zend Thread Safety
%bcond_without fpm # fpm patches from http://www.php-fpm.org/
%bcond_without suhosin # with suhosin patch
%bcond_with system_xmlrpc_epi # use system xmlrpc-epi library (broken on 64bit arches, see http://bugs.php.net/41611)
%define magic_mime /usr/share/misc/magic.mime
%endif
+%define orgname php
+%if "%{pld_release}" == "th"
+%define php_suffix 52
+%else
+%define php_suffix %{nil}
+%endif
+
Summary: PHP: Hypertext Preprocessor
Summary(fr.UTF-8): Le langage de script embarque-HTML PHP
Summary(pl.UTF-8): Język skryptowy PHP
Summary(pt_BR.UTF-8): A linguagem de script PHP
Summary(ru.UTF-8): PHP Версии 5 - язык препроцессирования HTML-файлов, выполняемый на сервере
Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері
-Name: php
-Version: 5.2.16
-Release: 2
+Name: %{orgname}%{php_suffix}
+Version: 5.2.17
+Release: 20
Epoch: 4
License: PHP
Group: Libraries
-Source0: http://www.php.net/distributions/%{name}-%{version}.tar.bz2
-# Source0-md5: 3b0bd012bd53bac9a5fefca61eccd5c6
-Source2: %{name}-mod_%{name}.conf
-Source3: %{name}-cgi-fcgi.ini
-Source4: %{name}-cgi.ini
-Source5: %{name}-apache.ini
-Source6: %{name}-cli.ini
+Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.bz2
+# Source0-md5: b27947f3045220faf16e4d9158cbfe13
+Source2: %{orgname}-mod_%{orgname}.conf
+Source3: %{orgname}-cgi-fcgi.ini
+Source4: %{orgname}-cgi.ini
+Source5: %{orgname}-apache.ini
+Source6: %{orgname}-cli.ini
# Taken from: http://browsers.garykeith.com/downloads.asp
-Source8: %{name}_browscap.ini
+Source8: %{orgname}_browscap.ini
# lynx -dump ftp://distfiles.gentoo.org/pub/gentoo/distfiles/|grep -o ftp://.*php-patchset.*tar.bz2
-#Source9: ftp://distfiles.gentoo.org/pub/gentoo/distfiles/%{name}-patchset-%{version}-r1.tar.bz2
+#Source9: ftp://distfiles.gentoo.org/pub/gentoo/distfiles/%{orgname}-patchset-%{version}-r1.tar.bz2
## Source9-md5: d67f23f5e69664e06fce89b064d5bbab
-Source10: %{name}-fpm.init
-Source11: %{name}-fpm.logrotate
-Source12: %{name}-branch.sh
+Source10: %{orgname}-fpm.init
+Source11: %{orgname}-fpm.logrotate
+Source12: %{orgname}-branch.sh
Source13: dep-tests.sh
Source14: skip-tests.sh
-Patch0: %{name}-shared.patch
-Patch1: %{name}-pldlogo.patch
-Patch2: %{name}-mail.patch
-Patch3: %{name}-link-libs.patch
-Patch4: %{name}-libpq_fs_h_path.patch
-Patch5: %{name}-filter-shared.patch
-Patch6: %{name}-build_modules.patch
-Patch7: %{name}-sapi-ini-file.patch
-Patch8: %{name}-no-metaccld.patch
-Patch9: %{name}-sh.patch
-Patch10: %{name}-ini.patch
-Patch11: %{name}-acam.patch
-Patch12: %{name}-threads-acfix.patch
-Patch13: %{name}-tsrmlsfetchgcc2.patch
-Patch14: %{name}-no_pear_install.patch
-Patch15: %{name}-zlib.patch
-Patch16: %{name}-sybase-fix.patch
-Patch17: %{name}-readline.patch
-Patch18: %{name}-nohttpd.patch
-Patch19: %{name}-gd_imagerotate_enable.patch
-Patch20: %{name}-uint32_t.patch
-Patch21: %{name}-dba-link.patch
-Patch22: %{name}-both-apxs.patch
-Patch23: %{name}-builddir.patch
-Patch24: %{name}-zlib-for-getimagesize.patch
-Patch25: %{name}-versioning.patch
-Patch26: %{name}-pear.patch
-Patch27: %{name}-config-dir.patch
-Patch28: %{name}-bug-42952.patch
-Patch29: %{name}-fcgi-graceful.patch
-Patch30: %{name}-apr-apu.patch
-Patch31: %{name}-fcgi-error_log-no-newlines.patch
-Patch32: %{name}-curl-limit-speed.patch
-Patch33: %{name}-mime_magic.patch
-Patch34: %{name}-libtool.patch
-Patch35: %{name}-tds.patch
-Patch36: %{name}-mysql-charsetphpini.patch
-Patch37: %{name}-mysqli-charsetphpini.patch
-Patch38: %{name}-pdo_mysql-charsetphpini.patch
-Patch39: %{name}-use-prog_sendmail.patch
-Patch40: %{name}-fpm.patch
-Patch41: %{name}-fpm-config.patch
-Patch42: %{name}-fpm-initdir.patch
-Patch43: %{name}-silent-session-cleanup.patch
-Patch44: %{name}-include_path.patch
-Patch45: %{name}-imap-annotations.patch
-Patch46: %{name}-imap-myrights.patch
+Patch0: %{orgname}-shared.patch
+Patch1: %{orgname}-pldlogo.patch
+Patch2: %{orgname}-mail.patch
+Patch3: %{orgname}-link-libs.patch
+Patch4: %{orgname}-libpq_fs_h_path.patch
+Patch5: %{orgname}-filter-shared.patch
+Patch6: %{orgname}-build_modules.patch
+Patch7: %{orgname}-sapi-ini-file.patch
+Patch8: %{orgname}-no-metaccld.patch
+Patch9: %{orgname}-sh.patch
+Patch10: %{orgname}-ini.patch
+Patch11: %{orgname}-acam.patch
+Patch12: %{orgname}-threads-acfix.patch
+Patch13: %{orgname}-tsrmlsfetchgcc2.patch
+Patch14: %{orgname}-no_pear_install.patch
+Patch15: %{orgname}-zlib.patch
+Patch16: %{orgname}-sybase-fix.patch
+Patch17: %{orgname}-readline.patch
+Patch18: %{orgname}-nohttpd.patch
+Patch19: %{orgname}-gd_imagerotate_enable.patch
+Patch20: %{orgname}-uint32_t.patch
+Patch21: %{orgname}-dba-link.patch
+Patch22: %{orgname}-both-apxs.patch
+Patch23: %{orgname}-builddir.patch
+Patch24: %{orgname}-zlib-for-getimagesize.patch
+Patch25: %{orgname}-versioning.patch
+Patch26: %{orgname}-pear.patch
+Patch27: %{orgname}-config-dir.patch
+Patch28: %{orgname}-bug-42952.patch
+Patch29: %{orgname}-fcgi-graceful.patch
+Patch30: %{orgname}-apr-apu.patch
+Patch31: %{orgname}-fcgi-error_log-no-newlines.patch
+Patch32: %{orgname}-curl-limit-speed.patch
+Patch33: %{orgname}-mime_magic.patch
+Patch34: %{orgname}-libtool.patch
+Patch35: %{orgname}-tds.patch
+Patch36: %{orgname}-mysql-charsetphpini.patch
+Patch37: %{orgname}-mysqli-charsetphpini.patch
+Patch38: %{orgname}-pdo_mysql-charsetphpini.patch
+Patch39: %{orgname}-use-prog_sendmail.patch
+Patch40: %{orgname}-fpm.patch
+Patch41: %{orgname}-fpm-config.patch
+Patch42: %{orgname}-fpm-initdir.patch
+Patch43: %{orgname}-silent-session-cleanup.patch
+Patch44: %{orgname}-include_path.patch
+Patch45: %{orgname}-imap-annotations.patch
+Patch46: %{orgname}-imap-myrights.patch
Patch47: suhosin.patch
-Patch49: %{name}-m4-divert.patch
+Patch49: %{orgname}-m4-divert.patch
Patch50: extension-shared-optional-dep.patch
Patch51: spl-shared.patch
-Patch52: %{name}-libpng.patch
-Patch53: %{name}-gmp.patch
+Patch52: %{orgname}-libpng.patch
+Patch53: %{orgname}-gmp.patch
Patch54: fix-test-run.patch
-Patch55: %{name}-krb5.patch
-Patch56: php-php_dl.patch
+Patch55: bug-52078-fileinode.patch
+Patch56: %{orgname}-krb5.patch
+Patch57: php-php_dl.patch
+Patch58: php-svn-281516.patch
+Patch59: %{orgname}-systzdata.patch
+Patch60: bug-60986.patch
+# http://spot.fedorapeople.org/php-5.3.6-libzip.patch
+Patch65: system-libzip.patch
+Patch66: bug-47930.patch
+Patch67: php-db.patch
+# CENTALT patches
+# CVE
+Patch201: php-5.2.17-CVE-2011-2202.patch
+Patch202: php-5.2.17-CVE-2011-1938.patch
+Patch203: php-5.2.17-CVE-2011-1148.patch
+Patch204: php-5.2.17-CVE-2011-0708.patch
+Patch205: php-5.2.17-CVE-2011-1092.patch
+Patch206: php-5.2.17-CVE-2011-0421.patch
+
+# Backport from 5.3.6
+Patch301: php-5.3.6-bug-54055.patch
+Patch302: php-5.3.6-bug-53577.patch
+Patch303: php-5.2.17-bug-48484.patch
+Patch304: php-5.3.6-bug-48607.patch
+Patch305: php-5.3.6-bug-53574.patch
+Patch306: php-5.3.6-bug-52290.patch
+Patch307: php-5.2.17-bug-52063.patch
+Patch308: php-5.3.6-bug-53924.patch
+Patch309: php-5.3.6-bug-53150.patch
+Patch310: php-5.3.6-bug-52209.patch
+Patch311: php-5.3.6-bug-47435.patch
+Patch312: php-5.3.6-bug-53377.patch
+Patch313: php-5.2.17-bug-39847.patch
+Patch314: php-5.3.6-39199.patch
+Patch315: php-5.3.6-bug-53630.patch
+Patch316: php-5.3.6-bug-51336.patch
+Patch317: php-5.3.6-bug-53515.patch
+Patch318: php-5.3.6-bug-54092.patch
+Patch319: php-5.3.6-bug-53903.patch
+Patch320: php-5.3.6-bug-54089.patch
+Patch321: php-5.3.6-bug-53603.patch
+Patch322: php-5.3.6-bug-53854.patch
+Patch323: php-5.3.6-bug-53579.patch
+Patch324: php-5.3.6-bug-53568.patch
+Patch325: php-5.2.17-bug-49072.patch
+# 5.3.7
+Patch330: php-5.3.7-bug-55399.patch
+Patch331: php-5.2.17-bug-55082.patch
+Patch332: php-5.3.7-bug-55014.patch
+#Patch333: php-5.3.7-bug-54924.patch
+Patch334: php-5.3.7-bug-54180.patch
+Patch335: php-5.3.7-bug-54137.patch
+Patch336: php-5.3.7-bug-53848.patch
+Patch337: php-5.3.7-bug-52935.patch
+Patch338: php-5.3.7-bug-51997.patch
+Patch339: php-5.3.7-bug-50363.patch
+Patch340: php-5.3.7-bug-48465.patch
+Patch341: php-5.3.7-bug-54529.patch
+Patch342: php-5.3.7-bug-52496.patch
+Patch343: php-5.3.7-bug-54242.patch
+Patch344: php-5.3.7-bug-54121.patch
+Patch345: php-5.3.7-bug-53037.patch
+Patch346: php-5.3.7-bug-54269.patch
+Patch347: php-5.3.7-bug-54601.patch
+Patch348: php-5.3.7-bug-54440.patch
+Patch349: php-5.3.7-bug-54494.patch
+Patch350: php-5.3.7-bug-54221.patch
+Patch351: php-5.3.7-bug-52104.patch
+Patch352: php-5.3.7-bug-54329.patch
+Patch353: php-5.3.7-bug-53782.patch
+Patch354: php-5.3.7-bug-54318.patch
+Patch355: php-5.3.7-bug-55323.patch
+Patch356: php-5.3.7-bug-54312.patch
+Patch357: php-5.3.7-bug-51958.patch
+Patch358: php-5.3.7-bug-54946.patch
+# 5.3.9 backport
+Patch359: php-5.2.17-CVE-2011-4566.patch
+Patch360: php-5.2.17-bug-60206.patch
+Patch361: php-5.2.17-bug-60138.patch
+Patch362: php-5.2.17-bug-60120.patch
+Patch363: php-5.2.17-bug-55674.patch
+Patch364: php-5.2.17-bug-55509.patch
+Patch365: php-5.2.17-bug-55504.patch
+Patch366: php-5.2.17-bug-52461.patch
+Patch367: php-5.2.17-bug-55366.patch
+Patch368: php-5.2.17-bug-55273.patch
+Patch369: php-5.2.17-bug-52624.patch
+Patch370: php-5.2.17-bug-43200.patch
+Patch371: php-5.2.17-bug-54682.patch
+Patch372: php-5.2.17-bug-60455.patch
+Patch373: php-5.2.17-bug-60183.patch
+Patch374: php-5.2.17-bug-55478.patch
+# Bug-319457 CVE-2011-4153
+Patch375: php-5.2.17-bug-319457.patch
+# Bug-55776 CVE-2012-0788
+Patch376: php-5.2.17-bug-55776.patch
+
+#php-5.2-max-input-vars patch
+Patch400: php-5.2.17-max-input-vars.patch
+Patch401: php-5.2.17-bug-323007-2.patch
+# Bug-323016 CVE-2012-0831
+Patch402: php-5.2.17-bug-323016.patch
URL: http://www.php.net/
%{?with_interbase:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}}
%{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0}
BuildRequires: flex
%if %{with mssql} || %{with sybase} || %{with sybase_ct}
BuildRequires: freetds-devel
+%{?with_system_libzip:BuildRequires: libzip-devel >= 0.10-3}
%endif
BuildRequires: freetype-devel >= 2.0
%if %{with system_gd}
роботи з базами даних є доволі простим. Найбільш популярне
використання PHP - заміна для CGI скриптів.
-%package -n apache1-mod_php
+%package -n apache1-mod_%{name}
Summary: PHP DSO module for Apache 1.3.x
Summary(pl.UTF-8): Moduł DSO (Dynamic Shared Object) PHP dla Apache 1.3.x
Group: Development/Languages/PHP
Obsoletes: apache-mod_php < 1:4.1.1
Obsoletes: phpfi
-%description -n apache1-mod_php
+%description -n apache1-mod_%{name}
PHP as DSO module for Apache 1.3.x.
-%description -n apache1-mod_php -l pl.UTF-8
+%description -n apache1-mod_%{name} -l pl.UTF-8
PHP jako moduł DSO (Dynamic Shared Object) dla Apache 1.3.x.
-%package -n apache-mod_php
+%package -n apache-mod_%{name}
Summary: PHP DSO module for Apache 2.x
Summary(pl.UTF-8): Moduł DSO (Dynamic Shared Object) PHP dla Apache 2.x
Group: Development/Languages/PHP
Provides: webserver(php) = %{version}
Obsoletes: phpfi
-%description -n apache-mod_php
+%description -n apache-mod_%{name}
PHP as DSO module for Apache 2.x.
-%description -n apache-mod_php -l pl.UTF-8
+%description -n apache-mod_%{name} -l pl.UTF-8
PHP jako moduł DSO (Dynamic Shared Object) dla Apache 2.x.
%package fcgi
Requires: glibc >= 6:2.3.5
Requires: php-dirs
Requires: rpm-whiteout >= 1.28
+Requires: tzdata
+Provides: php(core) = %{version}
Provides: php(date)
Provides: php(ereg)
Provides: php(libxml)
Provides: php(standard)
Provides: php(zend_extension_api) = %{zend_extension_api}
Provides: php(zend_module_api) = %{zend_module_api}
+Provides: php-core
Provides: php-date
Provides: php-ereg
%{?with_zend_multibyte:Provides: php-mbstring = %{epoch}:%{version}-%{release}}
%endif
%{?with_pcre:Requires: pcre-devel >= 6.6}
Requires: shtool
+Obsoletes: php-devel
Obsoletes: php-pear-devel
Obsoletes: php4-devel
+Obsoletes: php53-devel
+Obsoletes: php54-devel
%description devel
The php-devel package lets you compile dynamic extensions to PHP.
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Provides: php(zip)
Obsoletes: php-pecl-zip
+%{?with_system_libzip:Requires: libzip >= 0.10-3}
%description zip
Zip is an extension to create, modify and read zip files.
Moduł PHP umożliwiający używanie kompresji zlib.
%prep
-%setup -q
+%setup -q -n %{orgname}-%{version}
# for suhosin patch
%{__sed} -i -e 's,\r$,,' Zend/Zend.dsp Zend/ZendTS.dsp
%patch54 -p1
%patch55 -p1
%patch56 -p1
+%patch57 -p1
+%patch58 -p4
+%patch59 -p1
+%patch60 -p4
+%{?with_system_libzip:%patch65 -p1}
+%patch66 -p2
+%patch67 -p1
+
+%patch201 -p1 -b .CVE-2011-2202
+%patch202 -p1 -b .CVE-2011-1938
+%patch203 -p1 -b .CVE-2011-1148
+%patch204 -p1 -b .CVE-2011-0708
+%patch205 -p1 -b .CVE-2011-1092
+%patch206 -p1 -b .CVE-2011-0421
+
+# Bugfix backport from 5.3.6
+%patch301 -p1 -b .bug-54055
+%patch302 -p1 -b .bug-53577
+%patch303 -p1 -b .bug-48484
+%patch304 -p1 -b .bug-48607
+%patch305 -p1 -b .bug-53574
+%patch306 -p1 -b .bug-52290
+%patch307 -p1 -b .bug-52063
+%patch308 -p1 -b .bug-53924
+%patch309 -p1 -b .bug-53150
+%patch310 -p1 -b .bug-52209
+%patch311 -p1 -b .bug-47435
+%patch312 -p1 -b .bug-53377
+%patch313 -p1 -b .bug-39847
+%patch314 -p1 -b .bug-39199
+%patch315 -p1 -b .bug-53630
+%patch316 -p1 -b .bug-51336
+%patch317 -p1 -b .bug-53515
+%patch318 -p1 -b .bug-54092
+%patch319 -p1 -b .bug-53903
+%patch320 -p1 -b .bug-54089
+%patch321 -p1 -b .bug-53603
+%patch322 -p1 -b .bug-53854
+%patch323 -p1 -b .bug-53579
+%patch324 -p1 -b .bug-53568
+%patch325 -p1 -b .bug-49072
+# Bugfix backport from 5.3.7
+%patch330 -p1 -b .bug-55399
+%patch331 -p1 -b .bug-55082
+%patch332 -p1 -b .bug-55014
+#accert %patch333 -p1 -b .bug-54924
+%patch334 -p1 -b .bug-54180
+%patch335 -p1 -b .bug-54137
+%patch336 -p1 -b .bug-53848
+%patch337 -p1 -b .bug-52935
+%patch338 -p1 -b .bug-51997
+%patch339 -p1 -b .bug-50363
+%patch340 -p1 -b .bug-48465
+%patch341 -p1 -b .bug-54529
+%patch342 -p1 -b .bug-52496
+%patch343 -p1 -b .bug-54242
+%patch344 -p1 -b .bug-54121
+%patch345 -p1 -b .bug-53037
+%patch346 -p1 -b .bug-54269
+%patch347 -p1 -b .bug-54601
+%patch348 -p1 -b .bug-54440
+%patch349 -p1 -b .bug-54494
+%patch350 -p1 -b .bug-54221
+%patch351 -p1 -b .bug-52104
+%patch352 -p1 -b .bug-54329
+%patch353 -p1 -b .bug-53782
+%patch354 -p1 -b .bug-54318
+#soap %patch355 -p1 -b .bug-55323
+%patch356 -p1 -b .bug-54312
+%patch357 -p1 -b .bug-51958
+%patch358 -p1 -b .bug-54946
+%patch359 -p1 -b .CVE-2011-4566
+%patch360 -p1 -b .bug-60206
+%patch361 -p1 -b .bug-60138
+%patch362 -p1 -b .bug-60120
+%patch363 -p1 -b .bug-55674
+%patch364 -p1 -b .bug-55509
+%patch365 -p1 -b .bug-55504
+%patch366 -p1 -b .bug-52461
+%patch367 -p1 -b .bug-55366
+%patch368 -p1 -b .bug-55273
+%patch369 -p1 -b .bug-52624
+%patch370 -p1 -b .bug-43200
+%patch371 -p1 -b .bug-54682
+%patch372 -p1 -b .bug-60455
+%patch373 -p1 -b .bug-60183
+%patch374 -p1 -b .bug-55478
+%patch375 -p1 -b .bug-319457
+%patch376 -p1 -b .bug-55776
+
+%patch400 -p1 -b .php-5.2-max-input-vars
+%patch401 -p1 -b .bug-323007
+%patch402 -p1 -b .bug-323016
# conflict seems to be resolved by recode patches
rm -f ext/recode/config9.m4
--with-config-file-path=%{_sysconfdir} \
--with-config-file-scan-dir=%{_sysconfdir}/conf.d \
--with-exec-dir=%{_bindir} \
+ --with-system-tzdata \
--%{!?debug:dis}%{?debug:en}able-debug \
%{?with_zts:--enable-maintainer-zts} \
%{?with_suhosin:--enable-suhosin} \
%if %{with fpm}
--with-fpm-conf=%{_sysconfdir}/fpm.conf \
--with-fpm-log=/var/log/fpm.log \
- --with-fpm-pid=/var/run/php/fpm.pid \
+ --with-fpm-pid=/var/run/php/%{name}-fpm.pid \
%endif
%if %{with mssql} || %{with sybase} || %{with sybase_ct}
--with-pdo-dblib=shared \
--with-xsl=shared \
--with-zlib=shared \
--with-zlib-dir=shared,/usr \
+ %{?with_system_libzip:--with-libzip} \
--enable-zip=shared,/usr \
cp -f Makefile Makefile.$sapi
PHP=./sapi/cli/php EXTENSION_DIR=modules CONFIG_DIR=conf.d ./dep-tests.sh > dep-tests.log
if grep -v OK dep-tests.log; then
echo >&2 "The results above were not expected"
+# TEMP: ac-i386 builder is broken
+%ifnarch i386
exit 1
+%endif
fi
# install FCGI PM
%if %{with fpm}
-libtool --silent --mode=install install sapi/fpm/php-cgi $RPM_BUILD_ROOT%{_bindir}/php.fpm
-%{__make} install-fpm -f Makefile.fpm \
- INSTALL_ROOT=$RPM_BUILD_ROOT
-install %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/php-fpm
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/fpm.d,%{_sbindir}}
+libtool --mode=install install -p sapi/fpm/php-cgi $RPM_BUILD_ROOT%{_sbindir}/%{name}-fpm
+cp -p sapi/fpm/fpm/php-fpm.conf $RPM_BUILD_ROOT%{_sysconfdir}/fpm.conf
+install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
+install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-fpm
+%{__sed} -i -e '
+ s#/usr/lib/php#%{php_extensiondir}#
+ s#/etc/php#%{_sysconfdir}#
+ s#@processname@#%{name}-fpm#g
+' $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-fpm $RPM_BUILD_ROOT%{_sysconfdir}/fpm.conf
install -d $RPM_BUILD_ROOT/etc/logrotate.d
-install %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/php-fpm
+cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-fpm
%endif
# install CLI
libtool --silent --mode=install install sapi/cli/php $RPM_BUILD_ROOT%{_bindir}/php.cli
-install sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1/php.1
-echo ".so php.1" >$RPM_BUILD_ROOT%{_mandir}/man1/php.cli.1
-
ln -sf php.cli $RPM_BUILD_ROOT%{_bindir}/php
+cp -p sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1/php.cli.1
+echo ".so php.cli.1" >$RPM_BUILD_ROOT%{_mandir}/man1/php.1
sed -e 's#%{_prefix}/lib/php#%{_libdir}/php#g' php.ini > $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
%if %{with fcgi}
%clean
rm -rf $RPM_BUILD_ROOT
-%post -n apache1-mod_php
+%post -n apache1-mod_%{name}
if [ "$1" = "1" ]; then
%service -q apache restart
fi
-%postun -n apache1-mod_php
+%postun -n apache1-mod_%{name}
if [ "$1" = "0" ]; then
%service -q apache restart
fi
-%post -n apache-mod_php
+%post -n apache-mod_%{name}
if [ "$1" = "1" ]; then
%service -q httpd restart
fi
-%postun -n apache-mod_php
+%postun -n apache-mod_%{name}
if [ "$1" = "0" ]; then
%service -q httpd restart
fi
%useradd -u 51 -r -s /bin/false -c "HTTP User" -g http http
%post fpm
-/sbin/chkconfig --add php-fpm
-%service php-fpm restart
+/sbin/chkconfig --add %{name}-fpm
+%service %{name}-fpm restart
%preun fpm
if [ "$1" = 0 ]; then
- %service php-fpm stop
- /sbin/chkconfig --del php-fpm
+ %service %{name}-fpm stop
+ /sbin/chkconfig --del %{name}-fpm
fi
%postun fpm
[ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
[ ! -f /etc/httpd/conf.d/??_mod_php.conf ] || %service -q httpd restart
-%if %{with apache1}
-%triggerpostun -n apache1-mod_php -- php < 4:5.0.4-9.11
-sed -i -e '
- /^AddType application\/x-httpd-php \.php/s,^,#,
- /^\(Add\|Load\)Module.*php5\.\(so\|c\)/d
-' /etc/apache/apache.conf
-%service -q apache restart
-%endif
-
-%if %{with apache2}
-%triggerpostun -n apache-mod_php -- php < 4:5.0.4-7.1, php < 4:5.0.4-7.1
-# for fixed php-SAPI.ini, the poor php-apache.ini was never read for apache2
-if [ -f %{_sysconfdir}/php-apache.ini.rpmsave ]; then
- cp -f %{_sysconfdir}/php-apache2handler.ini{,.rpmnew}
- mv -f %{_sysconfdir}/php-apache.ini.rpmsave %{_sysconfdir}/php-apache2handler.ini
-fi
-%endif
-
# common macros called at extension post/postun scriptlet
%define extension_scripts() \
%post %1 \
%extension_scripts oci8
%extension_scripts odbc
%extension_scripts openssl
+%extension_scripts pcntl
%extension_scripts pcre
+%extension_scripts pdo
%extension_scripts pdo-dblib
%extension_scripts pdo-firebird
+%extension_scripts pdo-oci
%extension_scripts pdo-mysql
%extension_scripts pdo-odbc
%extension_scripts pdo-pgsql
%extension_scripts pspell
%extension_scripts recode
%extension_scripts session
+%extension_scripts simplexml
%extension_scripts shmop
%extension_scripts snmp
%extension_scripts soap
%extension_scripts zip
%extension_scripts zlib
-%triggerun bcmath -- %{name}-bcmath < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*bcmath\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun calendar -- %{name}-calendar < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*calendar\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun ctype -- %{name}-ctype < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*ctype\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun curl -- %{name}-curl < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*curl\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun dba -- %{name}-dba < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*dba\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun dbase -- %{name}-dbase < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*dbase\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun dom -- %{name}-dom < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*dom\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun exif -- %{name}-exif < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*exif\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun fdf -- %{name}-fdf < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*fdf\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun ftp -- %{name}-ftp < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*ftp\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun gd -- %{name}-gd < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*gd\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun gettext -- %{name}-gettext < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*gettext\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun gmp -- %{name}-gmp < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*gmp\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun iconv -- %{name}-iconv < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*iconv\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun imap -- %{name}-imap < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*imap\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun interbase -- %{name}-interbase < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*interbase\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun ldap -- %{name}-ldap < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*ldap\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun mbstring -- %{name}-mbstring < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mbstring\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun mcrypt -- %{name}-mcrypt < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mcrypt\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun mhash -- %{name}-mhash < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mhash\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun mime_magic -- %{name}-mime_magic < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mime_magic\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun ming -- %{name}-ming < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*ming\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun mssql -- %{name}-mssql < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mssql\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun mysql -- %{name}-mysql < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mysql\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun ncurses -- %{name}-ncurses < 4:5.1.2-9.5
-if [ -f %{_sysconfdir}/php-cgi.ini ]; then
- %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*ncurses\.so/d' %{_sysconfdir}/php-cgi.ini
-fi
-if [ -f %{_sysconfdir}/php-cli.ini ]; then
- %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*ncurses\.so/d' %{_sysconfdir}/php-cli.ini
-fi
-
-%triggerun mysqli -- %{name}-mysqli < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mysqli\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun oci8 -- %{name}-oci8 < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*oci8\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun odbc -- %{name}-odbc < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*odbc\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun openssl -- %{name}-openssl < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*openssl\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun pcntl -- %{name}-pcntl < 4:5.1.2-9.5
-if [ -f %{_sysconfdir}/php-cgi.ini ]; then
- %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*pcntl\.so/d' %{_sysconfdir}/php-cgi.ini
-fi
-if [ -f %{_sysconfdir}/php-cli.ini ]; then
- %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*pcntl\.so/d' %{_sysconfdir}/php-cli.ini
-fi
-
-%triggerun pcre -- %{name}-pcre < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*pcre\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun pgsql -- %{name}-pgsql < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*pgsql\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun posix -- %{name}-posix < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*posix\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun pspell -- %{name}-pspell < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*pspell\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun readline -- %{name}-readline < 4:5.1.2-9.5
-if [ -f %{_sysconfdir}/php-cgi.ini ]; then
- %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*readline\.so/d' %{_sysconfdir}/php-cgi.ini
-fi
-if [ -f %{_sysconfdir}/php-cli.ini ]; then
- %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*readline\.so/d' %{_sysconfdir}/php-cli.ini
-fi
-
-%triggerun recode -- %{name}-recode < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*recode\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun session -- %{name}-session < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*session\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun shmop -- %{name}-shmop < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*shmop\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun snmp -- %{name}-snmp < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*snmp\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun soap -- %{name}-soap < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*soap\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun sockets -- %{name}-sockets < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sockets\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun sqlite -- %{name}-sqlite < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sqlite\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun sybase -- %{name}-sybase < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sybase\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun sybase-ct -- %{name}-sybase-ct < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sybase-ct\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun sysvmsg -- %{name}-sysvmsg < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sysvmsg\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun sysvsem -- %{name}-sysvsem < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sysvsem\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun sysvshm -- %{name}-sysvshm < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sysvshm\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun tidy -- %{name}-tidy < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*tidy\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun wddx -- %{name}-wddx < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*wddx\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun xml -- %{name}-xml < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*xml\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun xmlrpc -- %{name}-xmlrpc < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*xmlrpc\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun xsl -- %{name}-xsl < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*xsl\.so/d' %{_sysconfdir}/php.ini
-
-%triggerun zlib -- %{name}-zlib < 4:5.0.4-9.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*zlib\.so/d' %{_sysconfdir}/php.ini
-
%if %{with apache1}
-%files -n apache1-mod_php
+%files -n apache1-mod_%{name}
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/apache/conf.d/*_mod_php.conf
%dir %{_sysconfdir}/apache.d
%endif
%if %{with apache2}
-%files -n apache-mod_php
+%files -n apache-mod_%{name}
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/httpd/conf.d/*_mod_php.conf
%dir %{_sysconfdir}/apache2handler.d
%dir %{_sysconfdir}/cli.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-cli.ini
%attr(755,root,root) %{_bindir}/php.cli
-%{_mandir}/man1/php.1*
%{_mandir}/man1/php.cli.1*
%files program
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/php
+%{_mandir}/man1/php.1*
%if %{with fpm}
%files fpm
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpm.conf
-%attr(755,root,root) %{_bindir}/php.fpm
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/php-fpm
-%attr(754,root,root) /etc/rc.d/init.d/php-fpm
+%attr(755,root,root) %{_sbindir}/%{name}-fpm
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-fpm
+%attr(754,root,root) /etc/rc.d/init.d/%{name}-fpm
%endif
%files common
%{php_data_dir}/tests/php/quicktester.inc
%attr(755,root,root) %{php_data_dir}/tests/php/run-tests.php
+# random junk, didn't check, maybe can be just removed
+%{php_data_dir}/tests/php/bin-info.inc
+%{php_data_dir}/tests/php/foo*
+%{php_data_dir}/tests/php/odbc*.php
+%{php_data_dir}/tests/php/recurse
+%{php_data_dir}/tests/php/run.*
+%{php_data_dir}/tests/php/scan_cases
+%{php_data_dir}/tests/php/test*
+
%if %{with tidy}
%files tidy
%defattr(644,root,root,755)