%bcond_without embed # disable building Embedded API
%bcond_with gcov # Enable Code coverage reporting
%bcond_without kerberos5 # without Kerberos5 support
-%bcond_with suhosin # with suhosin patch, has little point in PHP>=5.3, see https://github.com/stefanesser/suhosin/issues/42#issuecomment-41728178
%bcond_with systemtap # systemtap/DTrace support
%bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test"
%bcond_with zts # Zend Thread Safety
+%bcond_with debug # Zend Debug Build
# - SAPI
%bcond_without apache2 # disable building Apache 2.x SAPI
%bcond_without cgi # disable CGI/FCGI SAPI
Summary(ru.UTF-8): PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере
Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
-Version: 7.1.0
+Version: 7.1.32
Release: 2
Epoch: 4
# All files licensed under PHP version 3.01, except
# TSRM is licensed under BSD
License: PHP 3.01 and Zend and BSD
Group: Libraries
-Source0: http://php.net/distributions/%{orgname}-%{version}.tar.xz
-# Source0-md5: cf36039303c47f493100afea522a8f53
+Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz
+# Source0-md5: fe55c777b71f31294dc3b7e79a7b2ca6
Source2: %{orgname}-mod_php.conf
Source3: %{orgname}-cgi-fcgi.ini
Source4: %{orgname}-apache.ini
Patch29: %{orgname}-fcgi-graceful.patch
Patch31: %{orgname}-fcgi-error_log-no-newlines.patch
Patch34: %{orgname}-libtool.patch
-#Patch36: %{orgname}-mysql-charsetphpini.patch
-#Patch37: %{orgname}-mysqli-charsetphpini.patch
-#Patch38: %{orgname}-pdo_mysql-charsetphpini.patch
Patch39: %{orgname}-use-prog_sendmail.patch
Patch41: %{orgname}-fpm-config.patch
Patch42: %{orgname}-fpm-shared.patch
Patch44: %{orgname}-include_path.patch
Patch45: %{orgname}-imap-annotations.patch
Patch46: %{orgname}-imap-myrights.patch
-Patch47: suhosin.patch
Patch50: extension-shared-optional-dep.patch
Patch51: spl-shared.patch
Patch52: pcre-shared.patch
Patch67: mysql-lib-ver-mismatch.patch
# https://bugs.php.net/bug.php?id=68344
Patch68: php-mysql-ssl-context.patch
-Patch69: fpm-conf-split.patch
Patch70: mysqlnd-ssl.patch
Patch71: libdb-info.patch
Patch72: phar-hash-shared.patch
BuildRequires: elfutils-devel
%{?with_enchant:BuildRequires: enchant-devel >= 1.1.3}
%{?with_kerberos5:BuildRequires: heimdal-devel}
-%{?with_fpm:BuildRequires: libapparmor-devel}
-%{?with_system_libzip:BuildRequires: libzip-devel >= 0.10.1-2}
-%{!?with_mysqlnd:BuildRequires: mysql-devel}
-BuildRequires: pkgconfig
-BuildRequires: sed >= 4.0
%if %{with pdo_dblib}
BuildRequires: freetds-devel >= 0.82
%endif
BuildRequires: gdbm-devel
BuildRequires: gmp-devel >= 4.2
%{?with_imap:BuildRequires: imap-devel >= 1:2007e-2}
+%{?with_gcov:BuildRequires: lcov}
+%{?with_fpm:BuildRequires: libapparmor-devel}
%{?with_intl:BuildRequires: libicu-devel >= 4.4}
BuildRequires: libjpeg-devel
BuildRequires: libltdl-devel >= 1.4
BuildRequires: libpng-devel >= 1.0.8
%{?with_intl:BuildRequires: libstdc++-devel}
%{?with_webp:BuildRequires: libwebp-devel}
-BuildRequires: tokyocabinet-devel
%if "%{pld_release}" != "ac"
BuildRequires: libtool >= 2:2.4.6
%else
%endif
BuildRequires: libxml2-devel >= 1:2.7.6-4
BuildRequires: libxslt-devel >= 1.1.0
+%{?with_system_libzip:BuildRequires: libzip-devel >= 0.10.1-2}
+%{?with_snmp:%{?with_tests:BuildRequires: mibs-net-snmp}}
%{?with_mm:BuildRequires: mm-devel >= 1.3.0}
+%{!?with_mysqli:BuildRequires: mysql-devel >= 4.1.13}
+%{!?with_pdo_mysql:BuildRequires: mysql-devel}
+%{?with_snmp:BuildRequires: net-snmp-devel >= 5.3}
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
%if %{with openssl} || %{with ldap}
BuildRequires: openssl-devel >= 1.0.1
%endif
-%{?with_gcov:BuildRequires: lcov}
-%{?with_snmp:%{?with_tests:BuildRequires: mibs-net-snmp}}
-%{?with_snmp:BuildRequires: net-snmp-devel >= 5.0.7}
%{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel}}
BuildRequires: pam-devel
%{?with_pcre:BuildRequires: pcre-devel >= 8.10}
BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpm-build >= 4.4.0
BuildRequires: rpmbuild(macros) >= 1.566
-%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
-BuildRequires: tar >= 1:1.22
-BuildRequires: xz
+BuildRequires: sed >= 4.0
%if %{with sqlite3} || %{with pdo_sqlite}
BuildRequires: sqlite3-devel >= 3.3.9
%endif
+%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
+BuildRequires: tar >= 1:1.22
%{?with_tidy:BuildRequires: tidy-devel}
+BuildRequires: tokyocabinet-devel
%{?with_odbc:BuildRequires: unixODBC-devel}
%{?with_xmlrpc:BuildRequires: xmlrpc-epi-devel >= 0.54.1}
-BuildRequires: zlib-devel >= 1.0.9
+BuildRequires: xz
+BuildRequires: zlib-devel >= 1.2.0.4
%if %{with apache2}
BuildRequires: apache-devel >= 2.0.52-2
BuildRequires: apr-devel >= 1:1.0.0
# Extension versions
%define bz2ver 1.0
-%define enchantver 1.1.0
+%define enchantver %{version}
%define fileinfover 1.0.5
%define hashver 1.0
%define intlver 1.1.0
%define jsonver 1.5.0
%define pharver 2.0.2
-%define sqlite3ver 0.7-dev
+%define sqlite3ver %{version}
%define zipver 1.13.5
%define phpdbgver 0.5.0
%define _zend_zts %{!?with_zts:0}%{?with_zts:1}
-%define php_debug %{!?debug:0}%{?debug:1}
+%define php_debug %{!?with_debug:0}%{?with_debug:1}
%if %{with gcov}
%undefine with_ccache
використання PHP - заміна для CGI скриптів.
%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
+Summary: PHP support for Apache 2.x
+Summary(pl.UTF-8): Wsparcie PHP dla Apache 2.x
Group: Development/Languages/PHP
Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Requires: apache(modules-api) = %{apache_modules_api}
-Requires: apache-mod_mime
+Requires: apache-mod_%{name}-core = %{epoch}:%{version}-%{release}
Provides: webserver(php) = %{version}
Obsoletes: apache-mod_php < 4:5.3.28-7
Obsoletes: phpfi
%description -n apache-mod_%{name}
-PHP as DSO module for Apache 2.x.
+PHP support for Apache 2.x.
%description -n apache-mod_%{name} -l pl.UTF-8
+Wsparcie PHP dla Apache 2.x.
+
+%package -n apache-mod_%{name}-core
+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
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
+Requires: apache(modules-api) = %{apache_modules_api}
+Requires: apache-mod_mime
+
+%description -n apache-mod_%{name}-core
+PHP as DSO module for Apache 2.x.
+
+%description -n apache-mod_%{name}-core -l pl.UTF-8
PHP jako moduł DSO (Dynamic Shared Object) dla Apache 2.x.
%package litespeed
Requires: php-dirs >= 1.4
Requires: rpm-whiteout >= 1.28
Requires: tzdata
+Requires: zlib >= 1.2.0.4
Provides: %{name}(debug) = %{php_debug}
Provides: %{name}(modules_api) = %{php_api_version}
Provides: %{name}(thread-safety) = %{_zend_zts}
Obsoletes: php54-devel
Obsoletes: php55-devel
Obsoletes: php56-devel
+Obsoletes: php70-devel
+Obsoletes: php72-devel
+Obsoletes: php73-devel
%description devel
The php-devel package lets you compile dynamic extensions to PHP.
Requires: %{name}-common = %{epoch}:%{version}-%{release}
%{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}}
Requires: %{name}-spl = %{epoch}:%{version}-%{release}
+Requires: mysql-libs >= 4.1.13
Provides: php(mysqli)
Obsoletes: php-mysqli < 4:5.3.28-7
Requires: %{name}-pdo = %{epoch}:%{version}-%{release}
Provides: php(pdo-pgsql)
Provides: php(pdo_pgsql)
-Provides: php-pecl-PDO_PGSQL
Obsoletes: php-pdo-pgsql < 4:5.3.28-7
Obsoletes: php-pecl-PDO_PGSQL < 4:5.2.1-2
URL: http://php.net/manual/en/book.xsl.php
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: %{name}-dom = %{epoch}:%{version}-%{release}
-Requires: libxslt >= 1.0.18
+Requires: libxslt >= 1.1.0
Provides: php(xsl)
Obsoletes: php-xsl < 4:5.3.28-7
# actually not true, functionality is similar, but API differs
cp -p php.ini-production php.ini
%patch0 -p1
%patch1 -p1
-#%patch2 -p1 NEEDS PORTING
+%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%if "%{pld_release}" != "ac"
%patch34 -p1
%endif
-#%patch36 -p1
-#%patch37 -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
%patch43 -p1
%patch44 -p1
#%patch45 -p1 # imap annotations. fixme
#%patch46 -p1 # imap myrights. fixme
-%if %{with suhosin}
-%patch47 -p1
-%endif
%patch50 -p1
%patch51 -p1
%patch52 -p1
: Update the pharver macro and rebuild.
exit 1
fi
-ver=$(sed -n '/#define PHP_SQLITE3_VERSION/{s/.* "//;s/".*$//;p}' ext/sqlite3/php_sqlite3.h)
-if test "$ver" != "%{sqlite3ver}"; then
+ver=$(awk '/#define PHP_SQLITE3_VERSION/ {print $3}' ext/sqlite3/php_sqlite3.h | xargs)
+if test "$ver" != "PHP_VERSION"; then
: Error: Upstream Sqlite3 version is now ${ver}, expecting %{sqlite3ver}.
: Update the sqlite3ver macro and rebuild.
exit 1
: Update the bz2ver macro and rebuild.
exit 1
fi
-ver=$(sed -n '/#define PHP_ENCHANT_VERSION /{s/.* "//;s/".*$//;p}' ext/enchant/php_enchant.h)
-if test "$ver" != "%{enchantver}"; then
- : Error: Upstream Enchant version is now ${ver}, expecting %{enchantver}.
- : Update the enchantver macro and rebuild.
+ver=$(awk '/#define PHP_ENCHANT_VERSION/ {print $3}' ext/enchant/php_enchant.h | xargs)
+if test "$ver" != "PHP_VERSION"; then
exit 1
fi
ver=$(awk '/#define PHP_HASH_VERSION/ {print $3}' ext/hash/php_hash.h | xargs)
export PROG_SENDMAIL="/usr/lib/sendmail"
export CPPFLAGS="-DDEBUG_FASTCGI -DHAVE_STRNDUP %{rpmcppflags} \
-I%{_includedir}/xmlrpc-epi"
+%if %{with intl}
+# icu 59+ C++ API requires C++ >= 11
+CXXFLAGS="%{rpmcxxflags} -std=c++11"
+%endif
sapis="
cli
--with-config-file-path=%{_sysconfdir} \
--with-config-file-scan-dir=%{_sysconfdir}/conf.d \
--with-system-tzdata \
- --%{!?debug:dis}%{?debug:en}able-debug \
+ --%{!?with_debug:dis}%{?with_debug:en}able-debug \
%{?with_zts:--enable-maintainer-zts} \
--enable-inline-optimization \
%{__enable_disable bcmath bcmath shared} \
[ "$mod" = "spl" ] && conf="SPL.ini"
# session needs to be loaded before php-pecl-http, php-pecl-memcache, php-pecl-session_mysql
[ "$mod" = "session" ] && conf="Session.ini"
+ # hash needs to be loaded before mysqlnd
+ [ "$mod" = "hash" ] && conf="Hash.ini"
# mysqlnd needs to be loaded before mysqli,pdo_mysqli
[ "$mod" = "mysqlnd" ] && conf="MySQLND.ini"
echo "+ $conf"
%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
+%attr(755,root,root) %{_libdir}/apache/mod_php.so
+
+%files -n apache-mod_%{name}-core
+%defattr(644,root,root,755)
%dir %{_sysconfdir}/apache2handler.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-apache2handler.ini
-%attr(755,root,root) %{_libdir}/apache/mod_php.so
%attr(755,root,root) %{_libdir}/apache/libphp7-*.*.so
%endif
%files common
%defattr(644,root,root,755)
-%doc CREDITS EXTENSIONS LICENSE NEWS README.namespaces UPGRADING* Zend/{LICENSE.Zend,ZEND_CHANGES} php.ini-*
+%doc CREDITS EXTENSIONS LICENSE NEWS README.namespaces UPGRADING* Zend/{LICENSE.Zend,ZEND_CHANGES} php.ini-* .gdbinit
%dir %{_sysconfdir}
%dir %{_sysconfdir}/conf.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini
%files hash
%defattr(644,root,root,755)
%doc ext/hash/{CREDITS,README}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/hash.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/Hash.ini
%attr(755,root,root) %{php_extensiondir}/hash.so
%endif