X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=php.spec;h=ba836e9845858b458fe21717cd68eca1f0e23fbb;hb=59016f796d294d48b2191d83b94bfff93e427f9c;hp=d2c3c4ad2fe895b42955ccba84bf6f80220b328a;hpb=cc302397388202321c5b852375a6811ef412aa7a;p=packages%2Fphp.git diff --git a/php.spec b/php.spec index d2c3c4a..ba836e9 100644 --- a/php.spec +++ b/php.spec @@ -1,5 +1,7 @@ # NOTES # - mysqlnd driver doesn't support reconnect: https://bugs.php.net/bug.php?id=52561 +# TODO 7.3: +# - branch php-7.2 and merge dev-7.3 into head once official announcement ready # TODO 7.2: # - https://github.com/php/php-src/blob/php-7.2.0/UPGRADING # TODO 5.6: @@ -7,7 +9,6 @@ # TODO 5.4: # - update imap annotations patch (needs api porting) # - update imap myrights patch (needs api porting) -# --with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED # TODO: # - fileinfo extension bundles magic db in library: data_file.c (dump of magic.mgc) is 14M # - 2.3M fileinfo.so php54-fileinfo-5.4.6-0.15.x86_64 @@ -95,14 +96,14 @@ %bcond_without tidy # without Tidy extension module %bcond_without wddx # without WDDX extension module %bcond_without xmlrpc # without XML-RPC extension module -%bcond_without xsl # without xsl extension module +%bcond_without xsl # without xsl extension module +%bcond_without zip # without zip extension module # extensions options %bcond_without argon2 # argon2 password hashing %bcond_without instantclient # build Oracle oci8 extension module against oracle-instantclient package %bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs) %bcond_with mm # without mm support for session storage %bcond_without system_gd # system gd -%bcond_without system_libzip # system libzip %bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp) %define apxs1 /usr/sbin/apxs1 @@ -144,8 +145,9 @@ %undefine with_filter %endif +%define subver %{nil} %define orgname php -%define ver_suffix 72 +%define ver_suffix 73 %define php_suffix %{!?with_default_php:%{ver_suffix}} Summary: PHP: Hypertext Preprocessor Summary(fr.UTF-8): Le langage de script embarque-HTML PHP @@ -154,16 +156,17 @@ Summary(pt_BR.UTF-8): A linguagem de script PHP Summary(ru.UTF-8): PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} -Version: 7.2.9 -Release: 1 +Version: 7.3.0 +Release: 2 Epoch: 4 # 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: https://downloads.php.net/~cmb/php-%{version}%{subver}.tar.xz Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz -# Source0-md5: d529efc4017840e3db970b0bc25aef9c +# Source0-md5: 6b58a59106b0da4fdcba3bcf12cc3ca5 Source1: opcache.ini Source2: %{orgname}-mod_php.conf Source3: %{orgname}-cgi-fcgi.ini @@ -180,7 +183,7 @@ Patch2: %{orgname}-mail.patch Patch3: %{orgname}-link-libs.patch Patch4: intl-stdc++.patch Patch5: %{orgname}-filter-shared.patch -Patch6: %{orgname}-build_modules.patch + Patch7: %{orgname}-sapi-ini-file.patch Patch8: milter.patch Patch9: libtool-tag.patch @@ -227,7 +230,7 @@ BuildRequires: autoconf >= 2.59 BuildRequires: automake >= 1.4d BuildRequires: bison BuildRequires: bzip2-devel >= 1.0.0 -%{?with_curl:BuildRequires: curl-devel >= 7.12.0} +%{?with_curl:BuildRequires: curl-devel >= 7.15.5} BuildRequires: cyrus-sasl-devel >= 2 BuildRequires: db-devel >= 4.0 BuildRequires: elfutils-devel @@ -260,7 +263,7 @@ BuildRequires: libtool >= 1.4.3 %endif BuildRequires: libxml2-devel >= 1:2.7.6-4 %{?with_xsl:BuildRequires: libxslt-devel >= 1.1.0} -%{?with_system_libzip:BuildRequires: libzip-devel >= 1.3.1} +%{?with_zip:BuildRequires: libzip-devel >= 1.3.1} %{?with_snmp:%{?with_tests:BuildRequires: mibs-net-snmp}} %{?with_mm:BuildRequires: mm-devel >= 1.3.0} %{!?with_mysqli:BuildRequires: mysql-devel >= 4.1.13} @@ -273,7 +276,7 @@ BuildRequires: openssl-devel >= 1.0.1 %endif %{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel}} BuildRequires: pam-devel -%{?with_pcre:BuildRequires: pcre-devel >= 8.10} +%{?with_pcre:BuildRequires: pcre2-8-devel >= 10.30} BuildRequires: pkgconfig %{?with_pgsql:BuildRequires: postgresql-devel} BuildRequires: readline-devel @@ -305,21 +308,21 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir %{php_sysconfdir} # must be in sync with source. extra check ensuring that it is so is done in %%build -%define php_api_version 20170718 -%define zend_module_api 20170718 -%define zend_extension_api 320170718 +%define php_api_version 20180731 +%define zend_module_api 20180731 +%define zend_extension_api 320180731 %define php_pdo_api_version 20170320 # Extension versions -%define bz2ver 1.0 +%define bz2ver %{version} %define enchantver %{version} -%define fileinfover 1.0.5 -%define hashver 1.0 -%define intlver 1.1.0 -%define jsonver 1.6.0 -%define pharver 2.0.2 +%define fileinfover %{version} +%define hashver %{version} +%define intlver %{version} +%define jsonver 1.7.0 +%define pharver %{version} %define sqlite3ver %{version} -%define zipver 1.15.3 +%define zipver 1.15.4 %define phpdbgver 0.5.0 %define sodiumver %{version} @@ -575,7 +578,7 @@ Provides: php(libxml) Provides: php(reflection) Provides: php(standard) %{!?with_mysqlnd:Obsoletes: %{name}-mysqlnd} -%{?with_pcre:%requires_ge_to pcre pcre-devel} +%{?with_pcre:%requires_ge_to pcre2-8 pcre2-8-devel} Suggests: browscap Obsoletes: php-common < 4:5.3.28-7 # withdrawn modules @@ -619,7 +622,7 @@ Requires: libtool >= 2:2.4.6 %else Requires: libtool %endif -%{?with_pcre:Requires: pcre-devel >= 8.10} +%{?with_pcre:Requires: pcre2-8-devel >= 10.30} Requires: shtool Provides: php-devel = %{epoch}:%{version}-%{release} Obsoletes: php-devel @@ -632,6 +635,7 @@ Obsoletes: php55-devel Obsoletes: php56-devel Obsoletes: php70-devel Obsoletes: php71-devel +Obsoletes: php73-devel %description devel The php-devel package lets you compile dynamic extensions to PHP. @@ -1943,7 +1947,7 @@ Summary(pl.UTF-8): Zarządzanie archiwami zip Group: Libraries URL: http://php.net/manual/en/book.zip.php Requires: %{name}-common = %{epoch}:%{version}-%{release} -%{?with_system_libzip:Requires: libzip >= 1.3.1} +Requires: libzip >= 1.3.1 Provides: php(zip) = %{zipver} Obsoletes: php-pecl-zip < %{zipver} Obsoletes: php-zip < 4:5.3.28-7 @@ -1980,7 +1984,7 @@ cp -p php.ini-production php.ini %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 + %patch7 -p1 %{?with_milter:%patch8 -p1} %patch9 -p1 @@ -2046,7 +2050,7 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f #%{__rm} -r ext/gd/libgd #%{__rm} -r ext/mbstring/libmbfl %{__rm} -r ext/mbstring/oniguruma -%{__rm} -r ext/pcre/pcrelib +%{__rm} -r ext/pcre/pcre2lib #%{__rm} -r ext/soap/interop %{__rm} -r ext/xmlrpc/libxmlrpc #%{__rm} -r ext/zip/lib @@ -2126,6 +2130,11 @@ ix86=: x8664=: \ sh -xe %{_sourcedir}/skip-tests.sh %build +get_version() { + local define="$1" filename="$2" + awk -vdefine="$define" '/#define/ && $2 == define {print $3}' "$filename" | xargs +} + API=$(awk '/#define PHP_API_VERSION/{print $3}' main/php.h) if [ $API != %{php_api_version} ]; then echo "Set %%define php_api_version to $API and re-run." @@ -2151,14 +2160,14 @@ if [ $API != %{php_pdo_api_version} ]; then fi # Check for some extension version -ver=$(sed -n '/#define PHP_FILEINFO_VERSION /{s/.* "//;s/".*$//;p}' ext/fileinfo/php_fileinfo.h) -if test "$ver" != "%{fileinfover}"; then +ver=$(awk '/#define PHP_FILEINFO_VERSION/ {print $3}' ext/fileinfo/php_fileinfo.h | xargs) +if test "$ver" != "PHP_VERSION"; then : Error: Upstream FILEINFO version is now ${ver}, expecting %{fileinfover}. : Update the fileinfover macro and rebuild. exit 1 fi -ver=$(sed -n '/#define PHP_PHAR_VERSION /{s/.* "//;s/".*$//;p}' ext/phar/php_phar.h) -if test "$ver" != "%{pharver}"; then +ver=$(get_version PHP_PHAR_VERSION ext/phar/php_phar.h) +if test "$ver" != "PHP_VERSION"; then : Error: Upstream PHAR version is now ${ver}, expecting %{pharver}. : Update the pharver macro and rebuild. exit 1 @@ -2191,8 +2200,8 @@ if test "$ver" != "%{phpdbgver}"; then : Update the phpdbgver macro and rebuild. exit 1 fi -ver=$(sed -rne 's,.*(.+),\1,p' ext/bz2/package.xml) -if test "$ver" != "%{bz2ver}"; then +ver=$(get_version PHP_BZ2_VERSION ext/bz2/php_bz2.h) +if test "$ver" != "PHP_VERSION"; then : Error: Upstream BZIP2 version is now ${ver}, expecting %{bz2ver}. : Update the bz2ver macro and rebuild. exit 1 @@ -2201,14 +2210,14 @@ ver=$(awk '/#define PHP_ENCHANT_VERSION/ {print $3}' ext/enchant/php_enchant.h | if test "$ver" != "PHP_VERSION"; then exit 1 fi -ver=$(awk '/#define PHP_HASH_VERSION/ {print $3}' ext/hash/php_hash.h | xargs) -if test "$ver" != "%{hashver}"; then +ver=$(get_version PHP_HASH_VERSION ext/hash/php_hash.h) +if test "$ver" != "PHP_VERSION"; then : Error: Upstream HASH version is now ${ver}, expecting %{hashver}. : Update the hashver macro and rebuild. exit 1 fi -ver=$(sed -n '/#define PHP_INTL_VERSION /{s/.* "//;s/".*$//;p}' ext/intl/php_intl.h) -if test "$ver" != "%{intlver}"; then +ver=$(get_version PHP_INTL_VERSION ext/intl/php_intl.h) +if test "$ver" != "PHP_VERSION"; then : Error: Upstream Intl version is now ${ver}, expecting %{intlver}. : Update the intlver macro and rebuild. exit 1 @@ -2228,9 +2237,15 @@ fi export PROG_SENDMAIL="/usr/lib/sendmail" export CPPFLAGS="-DDEBUG_FASTCGI -DHAVE_STRNDUP %{rpmcppflags} \ -I%{_includedir}/xmlrpc-epi" + +# This should be detected by configure and set there, +# but looks like the build system is hosed on 7.3 +export CXXFLAGS="%{rpmcxxflags} -fPIC -DPIC" +export CFLAGS="%{rpmcflags} -fPIC -DPIC" + %if %{with intl} # icu 59+ C++ API requires C++ >= 11 -CXXFLAGS="%{rpmcxxflags} -std=c++11" +CXXFLAGS="$CXXFLAGS -std=c++11" %endif sapis=" @@ -2401,8 +2416,7 @@ for sapi in $sapis; do %{?with_xsl:--with-xsl=shared} \ --with-zlib=shared \ --with-zlib-dir=shared,/usr \ - %{?with_system_libzip:--with-libzip} \ - --enable-zip=shared,/usr \ + %{?with_zip:--enable-zip=shared,/usr --with-libzip} \ # save for debug cp -f Makefile Makefile.$sapi @@ -2712,6 +2726,8 @@ sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_c # better solution? sed -i -e 's|libphp_common.la|$(libdir)/libphp_common.la|' $RPM_BUILD_ROOT%{_libdir}/%{name}/build/acinclude.m4 +install -p ext/ext_skel.php $RPM_BUILD_ROOT%{_bindir} + %clean rm -rf $RPM_BUILD_ROOT @@ -2988,7 +3004,7 @@ fi %files common %defattr(644,root,root,755) -%doc CREDITS EXTENSIONS LICENSE NEWS UPGRADING* Zend/{LICENSE.Zend,README*} php.ini-* +%doc CREDITS EXTENSIONS LICENSE NEWS UPGRADING* Zend/{LICENSE.Zend,README*} php.ini-* .gdbinit %dir %{_sysconfdir} %dir %{_sysconfdir}/conf.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini @@ -2999,9 +3015,10 @@ fi %files devel %defattr(644,root,root,755) -%doc CODING_STANDARDS README.{EXT_SKEL,PARAMETER_PARSING_API,SELF-CONTAINED-EXTENSIONS,STREAMS,SUBMITTING_PATCH,TESTING,TESTING2,UNIX-BUILD-SYSTEM,input_filter} -%attr(755,root,root) %{_bindir}/phpize +%doc CODING_STANDARDS README.{EXT_SKEL,PARAMETER_PARSING_API,SELF-CONTAINED-EXTENSIONS,STREAMS,SUBMITTING_PATCH,TESTING,UNIX-BUILD-SYSTEM,input_filter} +%attr(755,root,root) %{_bindir}/ext_skel.php %attr(755,root,root) %{_bindir}/php-config +%attr(755,root,root) %{_bindir}/phpize %attr(755,root,root) %{_libdir}/libphp_common.so %{_libdir}/libphp_common.la %{_includedir}/php @@ -3059,8 +3076,7 @@ fi %if %{with dom} %files dom %defattr(644,root,root,755) -%doc ext/dom/{CREDITS,TODO} -%doc ext/dom/examples +%doc ext/dom/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/dom.ini %attr(755,root,root) %{php_extensiondir}/dom.so %endif @@ -3068,7 +3084,7 @@ fi %if %{with enchant} %files enchant %defattr(644,root,root,755) -%doc ext/enchant/{CREDITS,docs/examples} +%doc ext/enchant/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/enchant.ini %attr(755,root,root) %{php_extensiondir}/enchant.so %endif @@ -3092,7 +3108,7 @@ fi %if %{with filter} %files filter %defattr(644,root,root,755) -%doc ext/filter/{CREDITS,docs/*} +%doc ext/filter/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/filter.ini %attr(755,root,root) %{php_extensiondir}/filter.so %endif @@ -3124,7 +3140,7 @@ fi %if %{with gmp} %files gmp %defattr(644,root,root,755) -%doc ext/gmp/{CREDITS,README,TODO} +%doc ext/gmp/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/gmp.ini %attr(755,root,root) %{php_extensiondir}/gmp.so %endif @@ -3164,7 +3180,7 @@ fi %if %{with intl} %files intl %defattr(644,root,root,755) -%doc ext/intl/{CREDITS,TODO} +%doc ext/intl/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/intl.ini %attr(755,root,root) %{php_extensiondir}/intl.so %endif @@ -3188,7 +3204,7 @@ fi %if %{with mbstring} %files mbstring %defattr(644,root,root,755) -%doc ext/mbstring/{CREDITS,README*} +%doc ext/mbstring/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mbstring.ini %attr(755,root,root) %{php_extensiondir}/mbstring.so %endif @@ -3196,7 +3212,7 @@ fi %if %{with mysqli} %files mysqli %defattr(644,root,root,755) -%doc ext/mysqli/{CREDITS,TODO} +%doc ext/mysqli/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mysqli.ini %attr(755,root,root) %{php_extensiondir}/mysqli.so %endif @@ -3260,7 +3276,7 @@ fi %if %{with pdo} %files pdo %defattr(644,root,root,755) -%doc ext/pdo/{CREDITS,README,TODO} +%doc ext/pdo/{CREDITS,README} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo.ini %attr(755,root,root) %{php_extensiondir}/pdo.so %endif @@ -3332,7 +3348,7 @@ fi %if %{with phar} %files phar %defattr(644,root,root,755) -%doc ext/phar/{CREDITS,TODO} +%doc ext/phar/CREDITS %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%{php_suffix}.phar @@ -3396,7 +3412,6 @@ fi %files simplexml %defattr(644,root,root,755) %doc ext/simplexml/{CREDITS,README} -%doc ext/simplexml/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/simplexml.ini %attr(755,root,root) %{php_extensiondir}/simplexml.so @@ -3410,7 +3425,7 @@ fi %files soap %defattr(644,root,root,755) -%doc ext/soap/{CREDITS,TODO*} +%doc ext/soap/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/soap.ini %attr(755,root,root) %{php_extensiondir}/soap.so @@ -3430,7 +3445,7 @@ fi %files spl %defattr(644,root,root,755) -%doc ext/spl/{CREDITS,README,TODO} +%doc ext/spl/{CREDITS,README} %doc ext/spl/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/SPL.ini %attr(755,root,root) %{php_extensiondir}/spl.so @@ -3479,8 +3494,7 @@ fi %if %{with tidy} %files tidy %defattr(644,root,root,755) -%doc ext/tidy/{CREDITS,README} -%doc ext/tidy/examples +%doc ext/tidy/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/tidy.ini %attr(755,root,root) %{php_extensiondir}/tidy.so %endif @@ -3507,8 +3521,7 @@ fi %files xmlreader %defattr(644,root,root,755) -%doc ext/xmlreader/{CREDITS,README,TODO} -%doc ext/xmlreader/examples +%doc ext/xmlreader/{CREDITS,README} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xmlreader.ini %attr(755,root,root) %{php_extensiondir}/xmlreader.so @@ -3522,8 +3535,7 @@ fi %files xmlwriter %defattr(644,root,root,755) -%doc ext/xmlwriter/{CREDITS,TODO} -%doc ext/xmlwriter/examples +%doc ext/xmlwriter/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xmlwriter.ini %attr(755,root,root) %{php_extensiondir}/xmlwriter.so @@ -3535,12 +3547,14 @@ fi %attr(755,root,root) %{php_extensiondir}/xsl.so %endif +%if %{with zip} %files zip %defattr(644,root,root,755) -%doc ext/zip/{CREDITS,TODO} +%doc ext/zip/CREDITS %doc ext/zip/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/zip.ini %attr(755,root,root) %{php_extensiondir}/zip.so +%endif %files zlib %defattr(644,root,root,755)