%bcond_without litespeed # build litespeed module
%bcond_without ldap # without LDAP extension module
%bcond_without mhash # without mhash extension (supported by hash extension)
-%bcond_without mm # without mm support for session storage
+%bcond_with mm # without mm support for session storage
%bcond_without mssql # without MS SQL extension module
# don't turn it on by default; see TODO item for mysqlnd in this spec
%bcond_with mysqlnd # with mysqlnd support in mysql related extensions
%bcond_without cgi # disable CGI/FCGI SAPI
%bcond_without fpm # disable FPM
%bcond_without embed # disable Embedded API
-%bcond_without suhosin # with suhosin patch
+%bcond_with suhosin # with suhosin patch
%bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test"
%bcond_with gcov # Enable Code coverage reporting
%bcond_with type_hints # experimental support for strict typing/casting
%undefine with_filter
%endif
-%define rel 4
+%define rel 1
%define orgname php
%define ver_suffix 55
%define php_suffix %{!?with_default_php:%{ver_suffix}}
Summary(ru.UTF-8): PHP Версии 5 - язык препроцессирования HTML-файлов, выполняемый на сервере
Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
-Version: 5.5.21
+Version: 5.5.31
Release: %{rel}%{?with_type_hints:.th}
Epoch: 4
-License: PHP
+# All files licensed under PHP version 3.01, except
+# Zend is licensed under Zend
+# TSRM is licensed under BSD
+License: PHP 3.01 and Zend and BSD
Group: Libraries
Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.xz
-# Source0-md5: 79664ce44f7c93f355a25a3fe3dcc91b
+# Source0-md5: 6c487db7e7c07072bd70c7c0475c1308
Source2: %{orgname}-mod_%{orgname}.conf
Source3: %{orgname}-cgi-fcgi.ini
Source4: %{orgname}-apache.ini
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
BuildRequires: libltdl-devel >= 1.4
BuildRequires: libmcrypt-devel >= 2.4.4
BuildRequires: libpng-devel >= 1.0.8
+%{?with_intl:BuildRequires: libstdc++-devel}
%{?with_webp:BuildRequires: libvpx-devel}
BuildRequires: tokyocabinet-devel
%if "%{pld_release}" != "ac"
-BuildRequires: libtool >= 2:2.2
+BuildRequires: libtool >= 2:2.4.6
%else
BuildRequires: libtool >= 1.4.3
%endif
%define hashver 1.0
%define intlver 1.1.0
%define jsonver 1.2.1
-%define opcachever 7.0.4-dev
+%define opcachever 7.0.6-dev
%define pharver 2.0.2
%define sqlite3ver 0.7-dev
%define zipver 1.11.0
Provides: webserver(php) = %{version}
Obsoletes: php-cgi < 4:5.3.28-7
Obsoletes: php-fcgi < 4:5.3.0
-%if "%{pld_release}" != "ac"
-Conflicts: logrotate < 3.8.0
-%endif
%description cgi
PHP as CGI or FastCGI program.
Provides: user(http)
Provides: webserver(php) = %{version}
Obsoletes: php-fpm < 4:5.3.28-7
+%if "%{pld_release}" != "ac"
+Conflicts: logrotate < 3.8.0
+%endif
%description fpm
PHP FastCGI Process Manager.
Requires: autoconf >= 2.13
Requires: automake
%if "%{pld_release}" != "ac"
-Requires: libtool >= 2:2.2
+Requires: libtool >= 2:2.4.6
%else
Requires: libtool
%endif
Obsoletes: php52-devel
Obsoletes: php53-devel
Obsoletes: php54-devel
+Obsoletes: php56-devel
+Obsoletes: php70-devel
%description devel
The php-devel package lets you compile dynamic extensions to PHP.
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch38 -p1
%patch39 -p1
%if %{with fpm}
+%if 0
+# create split php-fpm.conf patch. review (restore other diffs) and commit
+cp sapi/fpm/php-fpm.conf.in{,.orig}
+%{__sed} -n -e '/; Start a new pool named/,$p' sapi/fpm/php-fpm.conf.in > sapi/fpm/php-fpm.conf-d.in
+%{__sed} -i -e '/; Include one or more files/,/include=etc\/fpm\.d/d' sapi/fpm/php-fpm.conf.in
+%{__sed} -i -e '/; Start a new pool named/,$d' sapi/fpm/php-fpm.conf.in
+set +e
+cd ..
+diff -u %{orgname}-%{version}/sapi/fpm/php-fpm.conf.in{.orig,} > %{PATCH69}
+diff -u /dev/null %{orgname}-%{version}/sapi/fpm/php-fpm.conf-d.in >> %{PATCH69}
+exit 1
+%else
+%patch69 -p1
+%endif
%patch41 -p1
%patch42 -p1
%endif
#%patch46 -p1 # imap myrights. fixme
%if %{with suhosin}
%patch47 -p1
+%patch68 -p1
%endif
%patch50 -p1
%patch51 -p1
%{?with_system_libzip:%patch65 -p1}
%patch66 -p1
%patch67 -p1
-%patch68 -p1
-%patch69 -p1
sed -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4
phpbuilddir=%{_libdir}/%{name}/build \
INSTALL_ROOT=$RPM_BUILD_ROOT
+# version the .phar files
+mv $RPM_BUILD_ROOT%{_bindir}/phar{,%{ver_suffix}}.phar
+mv $RPM_BUILD_ROOT%{_mandir}/man1/phar{,%{ver_suffix}}.phar.1
# make link relative
-ln -sfn phar.phar $RPM_BUILD_ROOT%{_bindir}/phar
+ln -sfn phar%{ver_suffix}.phar $RPM_BUILD_ROOT%{_bindir}/phar
# version suffix
v=$(echo %{version} | cut -d. -f1-2)
%if %{with apache1}
libtool --mode=install install -p sapi/apache/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache1
mv $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5{,-$v}.so
-ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.so
+ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache1/mod_php.so
%endif
# install Apache2 DSO module
%if %{with apache2}
libtool --mode=install install -p sapi/apache2handler/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache
mv $RPM_BUILD_ROOT%{_libdir}/apache/libphp5{,-$v}.so
-ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.so
+ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so
%endif
# install litespeed sapi
%service %{name}-fpm restart
%preun fpm
-if [ "$1" = 0 ]; then
+if [ "$1" = "0" ]; then
%service %{name}-fpm stop
/sbin/chkconfig --del %{name}-fpm
fi
fn=${fn%.rpmsave}
nf=%{_sysconfdir}/$dn/$fn
test -f "$nf" || continue
- cp -vf $nf{,.rpmnew}
- mv -vf $f $nf
+ cp -vfb $nf{,.rpmnew}
+ cp -vfb $f $nf
%{__sed} -i -e '
s#%{_libdir}/php#%{_libdir}/%{name}#
s#/etc/php#%{_sysconfdir}#
%{__sed} -i -e 's#^browscap = /usr/share/browscap/php_browscap.ini#;&#' %{_sysconfdir}/php.ini
fi
+%triggerpostun -n apache1-mod_%{name} -- apache1-mod_%{name} < 4:5.5.30-2
+sed -i -e 's#modules/libphp5.so#modules/mod_php.so#g' /etc/apache/conf.d/*_mod_php.conf
+
+%triggerpostun -n apache-mod_%{name} -- apache-mod_%{name} < 4:5.5.30-2
+sed -i -e 's#modules/libphp[57].so#modules/mod_php.so#g' /etc/httpd/conf.d/*_mod_php.conf
+
# common macros called at extension post/postun scriptlet
%define extension_scripts() \
%post %1 \
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/apache/conf.d/*_mod_php.conf
%dir %{_sysconfdir}/apache.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-apache.ini
-%attr(755,root,root) %{_libdir}/apache1/libphp5.so
+%attr(755,root,root) %{_libdir}/apache1/mod_php.so
%attr(755,root,root) %{_libdir}/apache1/libphp5-*.*.so
%endif
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/httpd/conf.d/*_mod_php.conf
%dir %{_sysconfdir}/apache2handler.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-apache2handler.ini
-%attr(755,root,root) %{_libdir}/apache/libphp5.so
+%attr(755,root,root) %{_libdir}/apache/mod_php.so
%attr(755,root,root) %{_libdir}/apache/libphp5-*.*.so
%endif
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/phar.ini
%attr(755,root,root) %{php_extensiondir}/phar.so
%attr(755,root,root) %{_bindir}/phar
-%attr(755,root,root) %{_bindir}/phar.phar
+%attr(755,root,root) %{_bindir}/phar%{ver_suffix}.phar
%{_mandir}/man1/phar.1*
-%{_mandir}/man1/phar.phar.1
+%{_mandir}/man1/phar%{ver_suffix}.phar.1
%endif
%files posix