From 18689b68b9beba429739846a90533c0a1dad987d Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 5 Sep 2019 11:12:58 +0200 Subject: update to 7.4.0RC1 --- php74.spec | 485 +++++++++++++++++++++++++------------------------------------ 1 file changed, 194 insertions(+), 291 deletions(-) (limited to 'php74.spec') diff --git a/php74.spec b/php74.spec index bdc7231..8070b45 100644 --- a/php74.spec +++ b/php74.spec @@ -8,30 +8,24 @@ # Please preserve changelog entries # # API/ABI check -%global apiver 20180731 -%global zendver 20180731 +%global apiver 20190902 +%global zendver 20190902 %global pdover 20170320 # Extension version %global fileinfover 1.0.5 %global oci8ver 2.2.0 %global zipver 1.13.0 -%global jsonver 1.7.0 # Adds -z now to the linker flags %global _hardened_build 1 # version used for php embedded library soname -%global embed_version 7.3 +%global embed_version 7.4 %global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock) -%if 0%{?rhel} == 6 -%global oraclever 18.3 -%global oraclelib 18.1 -%else %global oraclever 19.3 %global oraclelib 19.1 -%endif # Build for LiteSpeed Web Server (LSAPI) %global with_lsws 1 @@ -54,8 +48,6 @@ %endif %global with_onig 1 -%global with_sqlite3 1 - # until firebird available in EPEL %if 0%{?rhel} == 8 %global with_firebird 0 @@ -86,12 +78,6 @@ %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) -# systemd to manage the service, with notify mode, with additional service config -%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7 -%global with_systemd 1 -%else -%global with_systemd 0 -%endif # httpd 2.4.10 with httpd-filesystem and sethandler support %if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 %global with_httpd2410 1 @@ -110,15 +96,9 @@ %global with_libzip 1 %global with_zip 0 -%if 0%{?fedora} < 18 && 0%{?rhel} < 7 -%global db_devel db4-devel -%else -%global db_devel libdb-devel -%endif - -%global upver 7.3.9 -#global rcver RC1 -#global lower RC1 +%global upver 7.4.0 +%global rcver RC1 +%global lower RC1 Summary: PHP scripting language for creating dynamic web sites Name: php @@ -153,29 +133,25 @@ Source14: nginx-php.conf Source50: 10-opcache.ini Source51: opcache-default.blacklist Source52: 20-oci8.ini -Source99: php-fpm.init +Source53: 20-ffi.ini # Build fixes -Patch1: php-7.1.7-httpd.patch +Patch1: php-7.4.0-httpd.patch Patch5: php-7.2.0-includedir.patch -Patch6: php-5.6.3-embed.patch -Patch7: php-5.3.0-recode.patch +Patch6: php-7.4.0-embed.patch Patch8: php-7.2.0-libdb.patch Patch9: php-7.0.7-curl.patch # Functional changes -Patch40: php-7.2.4-dlopen.patch Patch42: php-7.3.3-systzdata-v18.patch # See http://bugs.php.net/53436 -Patch43: php-7.3.0-phpize.patch +Patch43: php-7.4.0-phpize.patch # Use -lldap_r for OpenLDAP Patch45: php-7.2.3-ldap_r.patch # Make php_config.h constant across builds Patch46: php-7.2.4-fixheader.patch # drop "Configure command" from phpinfo output Patch47: php-5.6.3-phpinfo.patch -# backport PDOStatement::getColumnMeta from 7.4 -Patch48: php-7.3.3-pdooci.patch # RC Patch Patch91: php-7.2.0-oci8conf.patch @@ -190,8 +166,10 @@ Patch300: php-7.0.10-datetests.patch # WIP -BuildRequires: bzip2-devel, curl-devel >= 7.9 -BuildRequires: httpd-devel >= 2.0.46-1, pam-devel +BuildRequires: bzip2-devel +BuildRequires: pkgconfig(libcurl) >= 7.15.5 +BuildRequires: httpd-devel >= 2.0.46-1 +BuildRequires: pam-devel %if %{with_httpd2410} # to ensure we are using httpd with filesystem feature (see #1081453) BuildRequires: httpd-filesystem @@ -200,16 +178,15 @@ BuildRequires: httpd-filesystem # to ensure we are using nginx with filesystem feature (see #1142298) BuildRequires: nginx-filesystem %endif -BuildRequires: %{?dtsprefix}libstdc++-devel, openssl-devel -%if %{with_sqlite3} -# For Sqlite3 extension -BuildRequires: sqlite-devel >= 3.6.0 -%else -BuildRequires: sqlite-devel >= 3.0.0 -%endif -BuildRequires: zlib-devel, smtpdaemon, libedit-devel +BuildRequires: %{?dtsprefix}libstdc++-devel +# no pkgconfig to avoid compat-openssl10 +BuildRequires: openssl-devel >= 1.0.1 +BuildRequires: pkgconfig(sqlite3) >= 3.7.4 +BuildRequires: pkgconfig(zlib) >= 1.2.0.4 +BuildRequires: smtpdaemon +BuildRequires: pkgconfig(libedit) %if %{with_libpcre} -BuildRequires: pcre2-devel >= 10.30 +BuildRequires: pkgconfig(libpcre2-8) >= 10.30 %else Provides: bundled(pcre2) = 10.32 %endif @@ -224,14 +201,15 @@ BuildRequires: libtool-ltdl-devel %if %{with_dtrace} BuildRequires: %{?dtsprefix}systemtap-sdt-devel %endif -BuildRequires: libargon2-devel #BuildRequires: bison +#BuildRequires: re2c # used for tests BuildRequires: /bin/ps %if 0%{?rhel} Obsoletes: php53, php53u, php54w, php55u, php55w, php56u, php56w, mod_php70u, php70w, mod_php71u, mod_php71w, mod_php72u, mod_php72w Obsoletes: mod_php73, mod_php73w +Obsoletes: mod_php74, mod_php74w %endif # Avoid obsoleting php54 from RHSCL Obsoletes: php54 > 5.4 @@ -244,8 +222,6 @@ Provides: php-zts%{?_isa} = %{version}-%{release} Requires: httpd-mmn = %{_httpd_mmn} Provides: mod_php = %{version}-%{release} Requires: php-common%{?_isa} = %{version}-%{release} -# For backwards-compatibility, require php-cli for the time being: -Requires: php-cli%{?_isa} = %{version}-%{release} # To ensure correct /var/lib/php/session ownership: %if %{with_httpd2410} Requires(pre): httpd-filesystem @@ -255,6 +231,8 @@ Requires(pre): httpd # php engine for Apache httpd webserver Provides: php(httpd) %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +# For backwards-compatibility, require php-cli for the time being: +Recommends: php-cli%{?_isa} = %{version}-%{release} # httpd have threaded MPM by default Recommends: php-fpm%{?_isa} = %{version}-%{release} # as "php" is now mostly a meta-package, commonly used extensions @@ -262,7 +240,11 @@ Recommends: php-json%{?_isa} = %{version}-%{release} Recommends: php-mbstring%{?_isa} = %{version}-%{release} Recommends: php-opcache%{?_isa} = %{version}-%{release} Recommends: php-pdo%{?_isa} = %{version}-%{release} +Recommends: php-sodium%{?_isa} = %{version}-%{release} Recommends: php-xml%{?_isa} = %{version}-%{release} +%else +# For backwards-compatibility, require php-cli for the time being: +Requires: php-cli%{?_isa} = %{version}-%{release} %endif %if 0%{?fedora} < 20 && 0%{?rhel} < 7 @@ -298,6 +280,7 @@ Provides: php-readline, php-readline%{?_isa} Obsoletes: php53-cli, php53u-cli, php54-cli, php54w-cli, php55u-cli, php55w-cli, php56u-cli, php56w-cli Obsoletes: php70u-cli, php70w-cli, php71u-cli, php71w-cli, php72u-cli, php72w-cli Obsoletes: php73-cli, php73w-cli +Obsoletes: php74-cli, php74w-cli %endif %description cli @@ -312,6 +295,7 @@ Requires: php-common%{?_isa} = %{version}-%{release} %if 0%{?rhel} Obsoletes: php56u-dbg, php56w-dbg, php70u-dbg, php70w-phpdbg, php71u-dbg, php71w-phpdbg, php72u-dbg, php72w-phpdbg Obsoletes: php73-dbg, php73w-phpdbg +Obsoletes: php74-dbg, php74w-phpdbg %endif %description dbg The php-dbg package contains the interactive PHP debugger. @@ -321,20 +305,14 @@ The php-dbg package contains the interactive PHP debugger. Group: Development/Languages Summary: PHP FastCGI Process Manager BuildRequires: libacl-devel +BuildRequires: pkgconfig(libsystemd) >= 209 Requires: php-common%{?_isa} = %{version}-%{release} Requires(pre): /usr/sbin/useradd -%if %{with_systemd} -BuildRequires: systemd-devel %{?systemd_requires} # This is actually needed for the %%triggerun script but Requires(triggerun) # is not valid. We can use %%post because this particular %%triggerun script # should fire just after this package is installed. Requires(post): systemd-sysv -%else -# This is for /sbin/service -Requires(preun): initscripts -Requires(postun): initscripts -%endif %if %{with_httpd2410} # To ensure correct /var/lib/php/session ownership: Requires(pre): httpd-filesystem @@ -352,6 +330,7 @@ Requires: nginx-filesystem Obsoletes: php53-fpm, php53u-fpm, php54-fpm, php54w-fpm, php55u-fpm, php55w-fpm, php56u-fpm, php56w-fpm Obsoletes: php70u-fpm, php70w-fpm, php71u-fpm, php71w-fpm, php72u-fpm, php72w-fpm Obsoletes: php73-fpm, php73w-fpm +Obsoletes: php74-fpm, php74w-fpm %endif %description fpm @@ -368,6 +347,7 @@ Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: php53-litespeed, php53u-litespeed, php54-litespeed, php54w-litespeed, php55u-litespeed, php55w-litespeed, php56u-litespeed, php56w-litespeed Obsoletes: php70u-litespeed, php70w-litespeed, php71u-litespeed, php71w-litespeed, php72u-litespeed, php72w-litespeed Obsoletes: php73-litespeed, php73w-litespeed +Obsoletes: php74-litespeed, php74w-litespeed %endif %description litespeed @@ -383,8 +363,8 @@ Summary: Common files for PHP # regex, libmagic are licensed under BSD License: PHP and BSD # ABI/API check - Arch specific -Provides: php(api) = %{apiver}%{isasuffix} -Provides: php(zend-abi) = %{zendver}%{isasuffix} +Provides: php(api) = %{apiver}-%{__isa_bits} +Provides: php(zend-abi) = %{zendver}-%{__isa_bits} Provides: php(language) = %{version}, php(language)%{?_isa} = %{version} # Provides for all builtin/shared modules: Provides: php-bz2, php-bz2%{?_isa} @@ -428,6 +408,7 @@ Obsoletes: php53-mhash, php53u-mhash Obsoletes: php53-common, php53u-common, php54-common, php54w-common, php55u-common, php55w-common, php56u-common, php56w-common Obsoletes: php70u-common, php70w-common, php71u-common, php71w-common, php72u-common, php72w-common Obsoletes: php73-common, php73w-common +Obsoletes: php74-common, php74w-common %endif %description common @@ -446,17 +427,16 @@ Requires: gcc-c++ Requires: libtool # see "php-config --libs" Requires: krb5-devel%{?_isa} -Requires: libargon2-devel%{?_isa} Requires: libedit-devel%{?_isa} Requires: libxml2-devel%{?_isa} -Requires: openssl-devel%{?_isa} +Requires: openssl-devel%{?_isa} >= 1.0.1 %if %{with_libpcre} Requires: pcre2-devel%{?_isa} %endif Requires: zlib-devel%{?_isa} Obsoletes: php-pecl-pdo-devel -Obsoletes: php-pecl-json-devel < %{jsonver} -Obsoletes: php-pecl-jsonc-devel < %{jsonver} +Obsoletes: php-pecl-json-devel < %{version} +Obsoletes: php-pecl-jsonc-devel < %{version} %if %{with_zts} Provides: php-zts-devel = %{version}-%{release} Provides: php-zts-devel%{?_isa} = %{version}-%{release} @@ -465,6 +445,7 @@ Provides: php-zts-devel%{?_isa} = %{version}-%{release} Obsoletes: php53-devel, php53u-devel, php54-devel, php54w-devel, php55u-devel, php55w-devel, php56u-devel, php56w-devel Obsoletes: php70u-devel, php70w-devel, php71u-devel, php71w-devel, php72u-devel, php72w-devel Obsoletes: php73-devel, php73w-devel +Obsoletes: php74-devel, php74w-devel %endif %description devel @@ -486,6 +467,7 @@ Provides: php-pecl(opcache)%{?_isa} = %{version} Obsoletes: php55u-opcache, php55w-opcache, php56u-opcache, php56w-opcache Obsoletes: php70u-opcache, php70w-opcache, php71u-opcache, php71w-opcache, php72u-opcache, php72w-opcache Obsoletes: php73-opcache, php73w-opcache +Obsoletes: php74-opcache, php74w-opcache %endif %description opcache @@ -502,11 +484,15 @@ Group: Development/Languages License: PHP Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: mod_php3-imap, stronghold-php-imap -BuildRequires: krb5-devel, openssl-devel, libc-client-devel +BuildRequires: pkgconfig(krb5) +BuildRequires: pkgconfig(krb5-gssapi) +BuildRequires: openssl-devel >= 1.0.1 +BuildRequires: libc-client-devel %if 0%{?rhel} Obsoletes: php53-imap, php53u-imap, php54-imap, php54w-imap, php55u-imap, php55w-imap, php56u-imap, php56w-imap Obsoletes: php70u-imap, php70w-imap, php71u-imap, php71w-imap, php72u-imap, php72w-imap Obsoletes: php73-imap, php73w-imap +Obsoletes: php74-imap, php74w-imap %endif %description imap @@ -520,11 +506,14 @@ Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: cyrus-sasl-devel, openldap-devel, openssl-devel +BuildRequires: pkgconfig(libsasl2) +BuildRequires: openldap-devel +BuildRequires: openssl-devel >= 1.0.1 %if 0%{?rhel} Obsoletes: php53-ldap, php53u-ldap, php54-ldap, php54w-ldap, php55u-ldap, php55w-ldap, php56u-ldap, php56w-ldap Obsoletes: php70u-ldap, php70w-ldap, php71u-ldap, php71w-ldap, php72u-ldap, php72w-ldap Obsoletes: php73-ldap, php73w-ldap +Obsoletes: php74-ldap, php74w-ldap %endif %description ldap @@ -540,16 +529,15 @@ Group: Development/Languages License: PHP Requires: php-common%{?_isa} = %{version}-%{release} # ABI/API check - Arch specific -Provides: php-pdo-abi = %{pdover}%{isasuffix} -Provides: php(pdo-abi) = %{pdover}%{isasuffix} -%if %{with_sqlite3} +Provides: php-pdo-abi = %{pdover}-%{__isa_bits} +Provides: php(pdo-abi) = %{pdover}-%{__isa_bits} Provides: php-sqlite3, php-sqlite3%{?_isa} -%endif Provides: php-pdo_sqlite, php-pdo_sqlite%{?_isa} %if 0%{?rhel} Obsoletes: php53-pdo, php53u-pdo, php54-pdo, php54w-pdo, php55u-pdo, php55w-pdo, php56u-pdo, php56w-pdo Obsoletes: php70u-pdo, php70w-pdo, php71u-pdo, php71w-pdo, php72u-pdo, php72w-pdo Obsoletes: php73-pdo, php73w-pdo +Obsoletes: php74-pdo, php74w-pdo %endif %description pdo @@ -573,9 +561,9 @@ Obsoletes: php-mysql < %{version}-%{release} Obsoletes: php53-mysqlnd, php53u-mysqlnd, php54-mysqlnd, php54w-mysqlnd, php55u-mysqlnd, php55w-mysqlnd, php56u-mysqlnd, php56w-mysqlnd Obsoletes: php70u-mysqlnd, php70w-mysqlnd, php71u-mysqlnd, php71w-mysqlnd, php72u-mysqlnd, php72w-mysqlnd Obsoletes: php73-mysqlnd, php73w-mysqlnd +Obsoletes: php74-mysqlnd, php74w-mysqlnd Obsoletes: php53-mysql, php53u-mysql, php54-mysql, php54w-mysql, php55u-mysql, php55w-mysql, php56u-mysql, php56w-mysql Obsoletes: php70u-mysql, php70w-mysql, php71u-mysql, php71w-mysql, php72u-mysql, php72w-mysql -Obsoletes: php73-mysql, php73w-mysql %endif %description mysqlnd @@ -595,11 +583,14 @@ License: PHP Requires: php-pdo%{?_isa} = %{version}-%{release} Provides: php_database Provides: php-pdo_pgsql, php-pdo_pgsql%{?_isa} -BuildRequires: krb5-devel, openssl-devel, postgresql-devel +BuildRequires: krb5-devel +BuildRequires: openssl-devel >= 1.0.1 +BuildRequires: postgresql-devel %if 0%{?rhel} Obsoletes: php53-pgsql, php53u-pgsql, php54-pgsql, php54w-pgsql, php55u-pgsql, php55w-pgsql, php56u-pgsql, php56w-pgsql Obsoletes: php70u-pgsql, php70w-pgsql, php71u-pgsql, php71w-pgsql, php72u-pgsql, php72w-pgsql Obsoletes: php73-pgsql, php73w-pgsql +Obsoletes: php74-pgsql, php74w-pgsql %endif %description pgsql @@ -625,6 +616,7 @@ Provides: php-sysvmsg, php-sysvmsg%{?_isa} Obsoletes: php53-process, php53u-process, php54-process, php54w-process, php55u-process, php55w-process, php56u-process, php56w-process Obsoletes: php70u-process, php70w-process, php71u-process, php71w-process, php72u-process, php72w-process Obsoletes: php73-process, php73w-process +Obsoletes: php74-process, php74w-process %endif %description process @@ -641,11 +633,13 @@ License: PHP Requires: php-pdo%{?_isa} = %{version}-%{release} Provides: php_database Provides: php-pdo_odbc, php-pdo_odbc%{?_isa} +# EL-7 version don't have pkgconfig BuildRequires: unixODBC-devel %if 0%{?rhel} Obsoletes: php53-odbc, php53u-odbc, php54-odbc, php54w-odbc, php55u-odbc, php55w-odbc, php56u-odbc, php56w-odbc Obsoletes: php70u-odbc, php70w-odbc, php71u-odbc, php71w-odbc, php72u-odbc, php72w-odbc Obsoletes: php73-odbc, php73w-odbc +Obsoletes: php74-odbc, php74w-odbc %endif %description odbc @@ -663,11 +657,12 @@ Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: libxml2-devel +BuildRequires: pkgconfig(libxml-2.0) %if 0%{?rhel} Obsoletes: php53-soap, php53u-soap, php54-soap, php54w-soap, php55u-soap, php55w-soap, php56u-soap, php56w-soap Obsoletes: php70u-soap, php70w-soap, php71u-soap, php71w-soap, php72u-soap, php72w-soap Obsoletes: php73-soap, php73w-soap +Obsoletes: php74-soap, php74w-soap %endif %description soap @@ -675,34 +670,25 @@ The php-soap package contains a dynamic shared object that will add support to PHP for using the SOAP web services protocol. %if %{with_firebird} -%package interbase -Summary: A module for PHP applications that use Interbase/Firebird databases +%package pdo-firebird +Summary: PDO driver for Interbase/Firebird databases Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP BuildRequires: firebird-devel Requires: php-pdo%{?_isa} = %{version}-%{release} Provides: php_database -Provides: php-firebird, php-firebird%{?_isa} Provides: php-pdo_firebird, php-pdo_firebird%{?_isa} %if 0%{?rhel} Obsoletes: php53-interbase, php53u-interbase, php54-interbase, php54w-interbase, php55u-interbase, php55w-interbase, php56u-interbase, php56w-interbase Obsoletes: php70u-interbase, php70w-interbase, php71u-interbase, php71w-interbase, php72u-interbase, php72w-interbase Obsoletes: php73-interbase, php73w-interbase +Obsoletes: php74-pdo-firebird, php74w-pdo-firebird %endif -%description interbase -The php-interbase package contains a dynamic shared object that will add -database support through Interbase/Firebird to PHP. - -InterBase is the name of the closed-source variant of this RDBMS that was -developed by Borland/Inprise. - -Firebird is a commercially independent project of C and C++ programmers, -technical advisors and supporters developing and enhancing a multi-platform -relational database management system based on the source code released by -Inprise Corp (now known as Borland Software Corp) under the InterBase Public -License. +%description pdo-firebird +The %{?scl_prefix}php-interbase package contains the PDO driver for +Interbase/Firebird databases. %endif %if %{with_oci8} @@ -726,6 +712,7 @@ AutoReq: 0 Obsoletes: php53-oci8, php53u-oci8, php54-oci8, php54w-oci8, php55u-oci8, php55w-oci8, php56u-oci8, php56w-oci8 Obsoletes: php70u-oci8, php70w-oci8, php71u-oci8, php71w-oci8, php72u-oci8, php72w-oci8 Obsoletes: php73-oci8, php73w-oci8 +Obsoletes: php74-oci8, php74w-oci8 %endif %description oci8 @@ -758,6 +745,7 @@ BuildRequires: net-snmp-devel Obsoletes: php53-snmp, php53u-snmp, php54-snmp, php54w-snmp, php55u-snmp, php55w-snmp, php56u-snmp, php56w-snmp Obsoletes: php70u-snmp, php70w-snmp, php71u-snmp, php71w-snmp, php72u-snmp, php72w-snmp Obsoletes: php73-snmp, php73w-snmp +Obsoletes: php74-snmp, php74w-snmp %endif %description snmp @@ -775,15 +763,17 @@ Requires: php-common%{?_isa} = %{version}-%{release} Provides: php-dom, php-dom%{?_isa} Provides: php-domxml, php-domxml%{?_isa} Provides: php-simplexml, php-simplexml%{?_isa} -Provides: php-wddx, php-wddx%{?_isa} Provides: php-xmlreader, php-xmlreader%{?_isa} Provides: php-xmlwriter, php-xmlwriter%{?_isa} Provides: php-xsl, php-xsl%{?_isa} -BuildRequires: libxslt-devel >= 1.0.18-1, libxml2-devel >= 2.4.14-1 +BuildRequires: pkgconfig(libxslt) >= 1.1 +BuildRequires: pkgconfig(libexslt) +BuildRequires: pkgconfig(libxml-2.0) >= 2.7.6 %if 0%{?rhel} Obsoletes: php53-xml, php53u-xml, php54-xml, php54w-xml, php55u-xml, php55w-xml, php56u-xml, php56w-xml Obsoletes: php70u-xml, php70w-xml, php71u-xml, php71w-xml, php72u-xml, php72w-xml Obsoletes: php73-xml, php73w-xml +Obsoletes: php74-xml, php74w-xml %endif %description xml @@ -802,6 +792,7 @@ Requires: php-xml%{?_isa} = %{version}-%{release} Obsoletes: php53-xmlrpc, php53u-xmlrpc, php54-xmlrpc, php54w-xmlrpc, php55u-xmlrpc, php55w-xmlrpc, php56u-xmlrpc, php56w-xmlrpc Obsoletes: php70u-xmlrpc, php70w-xmlrpc, php71u-xmlrpc, php71w-xmlrpc, php72u-xmlrpc, php72w-xmlrpc Obsoletes: php73-xmlrpc, php73w-xmlrpc +Obsoletes: php74-xmlrpc, php74w-xmlrpc %endif %description xmlrpc @@ -818,9 +809,9 @@ Group: Development/Languages License: PHP and LGPLv2 and BSD and OpenLDAP %if %{with_onig} # ensure we have soname 5 -BuildRequires: oniguruma-devel >= 6.8 +BuildRequires: pkgconfig(oniguruma) >= 6.8 %else -Provides: bundled(oniguruma) = 6.9.0 +Provides: bundled(oniguruma) = 6.9.3 %endif Provides: bundled(libmbfl) = 1.3.2 Requires: php-common%{?_isa} = %{version}-%{release} @@ -828,6 +819,7 @@ Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: php53-mbstring, php53u-mbstring, php54-mbstring, php54w-mbstring, php55u-mbstring, php55w-mbstring, php56u-mbstring, php56w-mbstring Obsoletes: php70u-mbstring, php70w-mbstring, php71u-mbstring, php71w-mbstring, php72u-mbstring, php72w-mbstring Obsoletes: php73-mbstring, php73w-mbstring +Obsoletes: php74-mbstring, php74w-mbstring %endif %description mbstring @@ -846,7 +838,7 @@ License: PHP and BSD %endif Requires: php-common%{?_isa} = %{version}-%{release} %if %{with_libgd} -BuildRequires: gd-devel >= 2.1.1 +BuildRequires: pkgconfig(gdlib) >= 2.1.1 %if 0%{?fedora} <= 19 && 0%{?rhel} <= 7 Requires: gd-last%{?_isa} >= 2.1.1 %else @@ -854,17 +846,19 @@ Requires: gd%{?_isa} >= 2.1.1 %endif %else # Required to build the bundled GD library -BuildRequires: libjpeg-devel -BuildRequires: libpng-devel -BuildRequires: freetype-devel -BuildRequires: libXpm-devel -BuildRequires: libwebp-devel +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(xpm) +BuildRequires: pkgconfig(libwebp) Provides: bundled(gd) = 2.0.35 %endif %if 0%{?rhel} Obsoletes: php53-gd, php53u-gd, php54-gd, php54w-gd, php55u-gd, php55w-gd, php56u-gd, php56w-gd Obsoletes: php70u-gd, php70w-gd, php71u-gd, php71w-gd, php72u-gd, php72w-gd Obsoletes: php73-gd, php73w-gd +Obsoletes: php74-gd, php74w-gd %endif %description gd @@ -882,6 +876,7 @@ Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: php53-bcmath, php53u-bcmath, php54-bcmath, php54w-bcmath, php55u-bcmath, php55w-bcmath, php56u-bcmath, php56w-bcmath Obsoletes: php70u-bcmath, php70w-bcmath, php71u-bcmath, php71w-bcmath, php72u-bcmath, php72w-bcmath Obsoletes: php73-bcmath, php73w-bcmath +Obsoletes: php74-bcmath, php74w-bcmath %endif Provides: bundled(libbcmath) @@ -900,6 +895,7 @@ Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: php53-gmp, php53u-gmp, php54-gmp, php54w-gmp, php55u-gmp, php55w-gmp, php56u-gmp, php56w-gmp Obsoletes: php70u-gmp, php70w-gmp, php71u-gmp, php71w-gmp, php72u-gmp, php72w-gmp Obsoletes: php73-gmp, php73w-gmp +Obsoletes: php74-gmp, php74w-gmp %endif %description gmp @@ -911,7 +907,7 @@ Summary: A database abstraction layer module for PHP applications Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP -BuildRequires: %{db_devel} +BuildRequires: libdb-devel BuildRequires: tokyocabinet-devel BuildRequires: gdbm-devel BuildRequires: lmdb-devel @@ -920,6 +916,7 @@ Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: php53-dba, php53u-dba, php54-dba, php54w-dba, php55u-dba, php55w-dba, php56u-dba, php56w-dba Obsoletes: php70u-dba, php70w-dba, php71u-dba, php71w-dba, php72u-dba, php72w-dba Obsoletes: php73-dba, php73w-dba +Obsoletes: php74-dba, php74w-dba %endif %description dba @@ -937,6 +934,7 @@ BuildRequires: libtidy-devel Obsoletes: php53-tidy, php53u-tidy, php54-tidy, php54w-tidy, php55u-tidy, php55w-tidy, php56u-tidy, php56w-tidy Obsoletes: php70u-tidy, php70w-tidy, php71u-tidy, php71w-tidy, php72u-tidy, php72w-tidy Obsoletes: php73-tidy, php73w-tidy +Obsoletes: php74-tidy, php74w-tidy %endif %description tidy @@ -944,7 +942,7 @@ The php-tidy package contains a dynamic shared object that will add support for using the tidy library to PHP. %package pdo-dblib -Summary: PDO driver Microsoft SQL Server and Sybase databases +Summary: PDO driver for Microsoft SQL Server and Sybase databases # All files licensed under PHP version 3.01 License: PHP Requires: php-pdo%{?_isa} = %{version}-%{release} @@ -955,6 +953,7 @@ Obsoletes: php-mssql < %{version}-%{release} Obsoletes: php53-mssql, php53u-mssql, php54-mssql, php54w-mssql, php55u-mssql, php55w-mssql, php56u-mssql, php56w-mssql Obsoletes: php70u-pdo-dblib, php70w-pdo_dblib, php71u-pdo-dblib, php71w-pdo_dblib, php72u-pdo-dblib, php72w-pdo_dblib Obsoletes: php73-pdo-dblib, php73w-pdo_dblib +Obsoletes: php74-pdo-dblib, php74w-pdo_dblib %endif %description pdo-dblib @@ -973,6 +972,7 @@ Provides: php-embedded-devel%{?_isa} = %{version}-%{release} Obsoletes: php53-embedded, php53u-embedded, php54-embedded, php54w-embedded, php55u-embedded, php55w-embedded, php56u-embedded, php56w-embedded Obsoletes: php70u-embedded, php70w-embedded, php71u-embedded, php71w-embedded, php72u-embedded, php72w-embedded Obsoletes: php73-embedded, php73w-embedded +Obsoletes: php74-embedded, php74w-embedded %endif %description embedded @@ -990,41 +990,27 @@ BuildRequires: aspell-devel >= 0.50.0 Obsoletes: php53-pspell, php53u-pspell, php54-pspell, php54w-pspell, php55u-pspell, php55w-pspell, php56u-pspell, php56w-pspell Obsoletes: php70u-pspell, php70w-pspell, php71u-pspell, php71w-pspell, php72u-pspell, php72w-pspell Obsoletes: php73-pspell, php73w-pspell +Obsoletes: php74-pspell, php74w-pspell %endif %description pspell The php-pspell package contains a dynamic shared object that will add support for using the pspell library to PHP. -%package recode -Summary: A module for PHP applications for using the recode library -Group: System Environment/Libraries -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: recode-devel -%if 0%{?rhel} -Obsoletes: php53-recode, php53u-recode, php54-recode, php54w-recode, php55u-recode, php55w-recode, php56u-recode, php56w-recode -Obsoletes: php70u-recode, php70w-recode, php71u-recode, php71w-recode, php72u-recode, php72w-recode -Obsoletes: php73-recode, php73w-recode -%endif - -%description recode -The php-recode package contains a dynamic shared object that will add -support for using the recode library to PHP. - %package intl Summary: Internationalization extension for PHP applications Group: System Environment/Libraries # All files licensed under PHP version 3.01 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} -# Upstream requires 4.0, we require 50 to ensure use of libicu-last / libicu62 -BuildRequires: libicu-devel >= 50 +BuildRequires: pkgconfig(icu-i18n) >= 50.1 +BuildRequires: pkgconfig(icu-io) >= 50.1 +BuildRequires: pkgconfig(icu-uc) >= 50.1 %if 0%{?rhel} Obsoletes: php53-intl, php53u-intl, php54-intl, php54w-intl, php55u-intl, php55w-intl, php56u-intl, php56w-intl Obsoletes: php70u-intl, php70w-intl, php71u-intl, php71w-intl, php72u-intl, php72w-intl Obsoletes: php73-intl, php73w-intl +Obsoletes: php74-intl, php74w-intl %endif %description intl @@ -1037,11 +1023,12 @@ Group: System Environment/Libraries # All files licensed under PHP version 3.0 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: enchant-devel >= 1.2.4 +BuildRequires: pkgconfig(enchant) %if 0%{?rhel} Obsoletes: php53-enchant, php53u-enchant, php54-enchant, php54w-enchant, php55u-enchant, php55w-enchant, php56u-enchant, php56w-enchant Obsoletes: php70u-enchant, php70w-enchant, php71u-enchant, php71w-enchant, php72u-enchant, php72w-enchant Obsoletes: php73-enchant, php73w-enchant +Obsoletes: php74-enchant, php74w-enchant %endif %description enchant @@ -1064,10 +1051,10 @@ Provides: php-pecl-zip%{?_isa} = %{zipver} Obsoletes: php53-zip, php53u-zip, php54-zip, php54w-zip, php55u-zip, php55w-zip, php56u-zip, php56w-zip Obsoletes: php70u-zip, php70w-zip, php71u-zip, php71w-zip, php72u-zip, php72w-zip Obsoletes: php73-zip, php73w-zip +Obsoletes: php74-zip, php74w-zip %endif %if %{with_libzip} -# 0.11.1 required, but 1.0.1 is bundled -BuildRequires: pkgconfig(libzip) >= 1.0.1 +BuildRequires: pkgconfig(libzip) >= 0.11 %endif %description zip @@ -1081,17 +1068,18 @@ Summary: JavaScript Object Notation extension for PHP License: PHP Group: System Environment/Libraries Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php-pecl-json < %{jsonver} -Obsoletes: php-pecl-jsonc < %{jsonver} -Provides: php-pecl(json) = %{jsonver} -Provides: php-pecl(json)%{?_isa} = %{jsonver} -Provides: php-pecl-json = %{jsonver} -Provides: php-pecl-json%{?_isa} = %{jsonver} +Obsoletes: php-pecl-json < %{version} +Obsoletes: php-pecl-jsonc < %{version} +Provides: php-pecl(json) = %{version} +Provides: php-pecl(json)%{?_isa} = %{version} +Provides: php-pecl-json = %{version} +Provides: php-pecl-json%{?_isa} = %{version} %if 0%{?rhel} Obsoletes: php53-json, php53u-json, php54-json, php54w-json, php55u-json, php55w-json, php56u-json, php56w-json Obsoletes: php55u-pecl-jsonc, php56u-pecl-jsonc Obsoletes: php70u-json, php70w-json, php71u-json, php71w-json, php72u-json, php72w-json Obsoletes: php73-json, php73w-json +Obsoletes: php74-json, php74w-json %endif %description json @@ -1104,8 +1092,8 @@ Summary: Wrapper for the Sodium cryptographic library # All files licensed under PHP version 3.0.1 License: PHP Group: System Environment/Libraries -# Ensure libsodium-last is used (upstream 1.0.9) -BuildRequires: pkgconfig(libsodium) >= 1.0.13 +# Minimal is 1.0.8, 1.0.14 is needed for argon2 password +BuildRequires: pkgconfig(libsodium) >= 1.0.14 Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: php-pecl-libsodium2 < 3 @@ -1114,6 +1102,7 @@ Provides: php-pecl(libsodium)%{?_isa} = %{version} %if 0%{?rhel} Obsoletes: php72u-sodium, php72w-sodium Obsoletes: php73-sodium, php73w-sodium +Obsoletes: php74-sodium, php74w-sodium %endif %description sodium @@ -1121,6 +1110,27 @@ The php-sodium package provides a simple, low-level PHP extension for the libsodium cryptographic library. +%package ffi +Summary: Foreign Function Interface +# All files licensed under PHP version 3.0.1 +License: PHP +Group: System Environment/Libraries +BuildRequires: pkgconfig(libffi) + +Requires: php-common%{?_isa} = %{version}-%{release} +%if 0%{?rhel} +Obsoletes: php74-ffi, php74w-ffi +%endif + +%description ffi +FFI is one of the features that made Python and LuaJIT very useful for fast +prototyping. It allows calling C functions and using C data types from pure +scripting language and therefore develop “system code” more productively. + +For PHP, FFI opens a way to write PHP extensions and bindings to C libraries +in pure PHP. + + %prep : CIBLE = %{name}-%{version}-%{release} oci8=%{with_oci8} libzip=%{with_libzip} @@ -1129,13 +1139,11 @@ low-level PHP extension for the libsodium cryptographic library. %patch1 -p1 -b .mpmcheck %patch5 -p1 -b .includedir %patch6 -p1 -b .embed -%patch7 -p1 -b .recode %patch8 -p1 -b .libdb %if 0%{?rhel} %patch9 -p1 -b .curltls %endif -%patch40 -p1 -b .dlopen %if 0%{?fedora} >= 28 || 0%{?rhel} >= 6 %patch42 -p1 -b .systzdata %endif @@ -1145,7 +1153,6 @@ low-level PHP extension for the libsodium cryptographic library. %endif %patch46 -p1 -b .fixheader %patch47 -p1 -b .phpinfo -%patch48 -p1 -b .pdooci %patch91 -p1 -b .remi-oci8 @@ -1169,10 +1176,8 @@ cp ext/gd/libgd/COPYING libgd_COPYING %endif cp sapi/fpm/LICENSE fpm_LICENSE cp ext/mbstring/libmbfl/LICENSE libmbfl_LICENSE -cp ext/mbstring/oniguruma/COPYING oniguruma_COPYING -cp ext/mbstring/ucgendat/OPENLDAP_LICENSE ucgendat_LICENSE cp ext/fileinfo/libmagic/LICENSE libmagic_LICENSE -cp ext/bcmath/libbcmath/COPYING.LIB libbcmath_COPYING +cp ext/bcmath/libbcmath/LICENSE libbcmath_LICENSE cp ext/date/lib/LICENSE.rst timelib_LICENSE # Multiple builds for multiple SAPIs @@ -1256,13 +1261,6 @@ if test "$ver" != "%{zipver}"; then fi %endif -ver=$(sed -n '/#define PHP_JSON_VERSION /{s/.* "//;s/".*$//;p}' ext/json/php_json.h) -if test "$ver" != "%{jsonver}"; then - : Error: Upstream JSON version is now ${ver}, expecting %{jsonver}. - : Update the %{jsonver} macro and rebuild. - exit 1 -fi - # https://bugs.php.net/63362 - Not needed but installed headers. # Drop some Windows specific headers to avoid installation, # before build to ensure they are really not needed. @@ -1279,21 +1277,12 @@ find . -name \*.[ch] -exec chmod 644 {} \; chmod 644 README.* # Some extensions have their own configuration file -cp %{SOURCE50} 10-opcache.ini -%if 0%{?rhel} != 6 -cat << EOF >>10-opcache.ini - -; Enables or disables copying of PHP code (text segment) into HUGE PAGES. -; This should improve performance, but requires appropriate OS configuration. -opcache.huge_code_pages=0 -EOF -%endif -cp %{SOURCE52} 20-oci8.ini +cp %{SOURCE50} %{SOURCE51} %{SOURCE52} %{SOURCE53} . # Regenerated bison files # to force, rm Zend/zend_{language,ini}_parser.[ch] if [ ! -f Zend/zend_language_parser.c ]; then - ./genfiles + scripts/dev/genfiles fi @@ -1303,9 +1292,6 @@ fi # Set build date from https://reproducible-builds.org/specs/source-date-epoch/ export SOURCE_DATE_EPOCH=$(date +%s -r NEWS) -# aclocal workaround - to be improved -cat $(aclocal --print-ac-dir)/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >>aclocal.m4 - # Force use of system libtool: libtoolize --force --copy cat $(aclocal --print-ac-dir)/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >build/libtool.m4 @@ -1342,7 +1328,7 @@ fi # Always static: # date, filter, libxml, reflection, spl: not supported # hash: for PHAR_SIG_SHA256 and PHAR_SIG_SHA512 -# session: dep on hash, used by soap and wddx +# session: dep on hash, used by soap # pcre: used by filter, zip # pcntl, readline: only used by CLI sapi # openssl: for PHAR_SIG_OPENSSL @@ -1350,6 +1336,7 @@ fi ln -sf ../configure %configure \ + --enable-rtld-now \ --cache-file=../config.cache \ --with-libdir=%{_lib} \ --with-config-file-path=%{_sysconfdir} \ @@ -1359,25 +1346,21 @@ ln -sf ../configure --disable-rpath \ --without-pear \ --with-exec-dir=%{_bindir} \ - --with-freetype-dir=%{_prefix} \ - --with-png-dir=%{_prefix} \ - --with-xpm-dir=%{_prefix} \ --without-gdbm \ - --with-jpeg-dir=%{_prefix} \ --with-openssl \ --with-system-ciphers \ %if %{with_libpcre} - --with-pcre-regex=%{_prefix} \ + --with-external-pcre \ %endif --with-zlib \ --with-layout=GNU \ --with-kerberos \ - --with-libxml-dir=%{_prefix} \ + --with-libxml \ %if 0%{?fedora} >= 28 || 0%{?rhel} >= 6 --with-system-tzdata \ %endif --with-mhash \ - --with-password-argon2 \ + --without-password-argon2 \ %if %{with_dtrace} --enable-dtrace \ %endif @@ -1401,21 +1384,19 @@ build --libdir=%{_libdir}/php \ --enable-pcntl \ --enable-opcache \ --enable-opcache-file \ -%if 0%{?rhel} == 6 - --disable-huge-code-pages \ -%endif --enable-phpdbg \ --with-imap=shared --with-imap-ssl \ --enable-mbstring=shared \ -%if %{with_onig} - --with-onig=%{_prefix} \ -%endif --enable-mbregex \ %if %{with_libgd} - --with-gd=shared,%{_prefix} \ + --enable-gd=shared \ + --with-external-gd \ %else - --with-gd=shared \ - --with-webp-dir=%{_prefix} \ + --enable-gd=shared \ + --with-webp \ + --with-jpeg \ + --with-xpm \ + --with-freetype \ %endif --with-gmp=shared \ --enable-calendar=shared \ @@ -1447,36 +1428,27 @@ build --libdir=%{_libdir}/php \ %endif %endif %if %{with_firebird} - --with-interbase=shared \ --with-pdo-firebird=shared \ %endif --enable-dom=shared \ --with-pgsql=shared \ --enable-simplexml=shared \ --enable-xml=shared \ - --enable-wddx=shared \ --with-snmp=shared,%{_prefix} \ --enable-soap=shared \ --with-xsl=shared,%{_prefix} \ --enable-xmlreader=shared --enable-xmlwriter=shared \ - --with-curl=shared,%{_prefix} \ + --with-curl=shared \ --enable-pdo=shared \ --with-pdo-odbc=shared,unixODBC,%{_prefix} \ --with-pdo-mysql=shared,mysqlnd \ --with-pdo-pgsql=shared,%{_prefix} \ - --with-pdo-sqlite=shared,%{_prefix} \ + --with-pdo-sqlite=shared \ --with-pdo-dblib=shared,%{_prefix} \ -%if %{with_sqlite3} - --with-sqlite3=shared,%{_prefix} \ -%else - --without-sqlite3 \ -%endif + --with-sqlite3=shared \ --enable-json=shared \ %if %{with_zip} - --enable-zip=shared \ -%if %{with_libzip} - --with-libzip \ -%endif + --with-zip=shared \ %endif --without-readline \ --with-libedit \ @@ -1488,21 +1460,21 @@ build --libdir=%{_libdir}/php \ --enable-posix=shared \ --with-unixODBC=shared,%{_prefix} \ --enable-fileinfo=shared \ + --with-ffi=shared \ --with-sodium=shared \ --enable-intl=shared \ - --with-icu-dir=%{_prefix} \ - --with-enchant=shared,%{_prefix} \ - --with-recode=shared,%{_prefix} + --with-enchant=shared popd -without_shared="--without-gd \ +without_shared="--disable-gd \ --disable-dom --disable-dba --without-unixODBC \ --disable-opcache \ --disable-json \ + --without-ffi \ --disable-xmlreader --disable-xmlwriter \ --without-sodium \ --without-sqlite3 --disable-phar --disable-fileinfo \ - --without-pspell --disable-wddx \ + --without-pspell \ --without-curl --disable-posix --disable-xml \ --disable-simplexml --disable-exif --without-gettext \ --without-iconv --disable-ftp --without-bz2 --disable-ctype \ @@ -1514,7 +1486,7 @@ pushd build-apache build --with-apxs2=%{_httpd_apxs} \ --libdir=%{_libdir}/php \ %if %{with_lsws} - --with-litespeed \ + --enable-litespeed \ %endif --without-mysqli \ --disable-pdo \ @@ -1524,9 +1496,7 @@ popd # Build php-fpm pushd build-fpm build --enable-fpm \ -%if %{with_systemd} --with-fpm-systemd \ -%endif --with-fpm-acl \ --libdir=%{_libdir}/php \ --without-mysqli \ @@ -1556,20 +1526,18 @@ build --includedir=%{_includedir}/php-zts \ --enable-pcntl \ --enable-opcache \ --enable-opcache-file \ -%if 0%{?rhel} == 6 - --disable-huge-code-pages \ -%endif --with-imap=shared --with-imap-ssl \ --enable-mbstring=shared \ -%if %{with_onig} - --with-onig=%{_prefix} \ -%endif --enable-mbregex \ %if %{with_libgd} - --with-gd=shared,%{_prefix} \ + --enable-gd=shared \ + --with-external-gd \ %else - --with-gd=shared \ - --with-webp-dir=%{_prefix} \ + --enable-gd=shared \ + --with-webp \ + --with-jpeg \ + --with-xpm \ + --with-freetype \ %endif --with-gmp=shared \ --enable-calendar=shared \ @@ -1602,36 +1570,27 @@ build --includedir=%{_includedir}/php-zts \ %endif %endif %if %{with_firebird} - --with-interbase=shared \ --with-pdo-firebird=shared \ %endif --enable-dom=shared \ --with-pgsql=shared \ --enable-simplexml=shared \ --enable-xml=shared \ - --enable-wddx=shared \ --with-snmp=shared,%{_prefix} \ --enable-soap=shared \ --with-xsl=shared,%{_prefix} \ --enable-xmlreader=shared --enable-xmlwriter=shared \ - --with-curl=shared,%{_prefix} \ + --with-curl=shared \ --enable-pdo=shared \ --with-pdo-odbc=shared,unixODBC,%{_prefix} \ --with-pdo-mysql=shared,mysqlnd \ --with-pdo-pgsql=shared,%{_prefix} \ - --with-pdo-sqlite=shared,%{_prefix} \ + --with-pdo-sqlite=shared \ --with-pdo-dblib=shared,%{_prefix} \ -%if %{with_sqlite3} - --with-sqlite3=shared,%{_prefix} \ -%else - --without-sqlite3 \ -%endif + --with-sqlite3=shared \ --enable-json=shared \ %if %{with_zip} - --enable-zip=shared \ -%if %{with_libzip} - --with-libzip \ -%endif + --with-zip=shared \ %endif --without-readline \ --with-libedit \ @@ -1643,11 +1602,10 @@ build --includedir=%{_includedir}/php-zts \ --enable-posix=shared \ --with-unixODBC=shared,%{_prefix} \ --enable-fileinfo=shared \ + --with-ffi=shared \ --with-sodium=shared \ --enable-intl=shared \ - --with-icu-dir=%{_prefix} \ - --with-enchant=shared,%{_prefix} \ - --with-recode=shared,%{_prefix} + --with-enchant=shared popd # Build a special thread-safe Apache SAPI @@ -1676,7 +1634,7 @@ export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2 export SKIP_ONLINE_TESTS=1 export SKIP_IO_CAPTURE_TESTS=1 unset TZ LANG LC_ALL -if ! make test; then +if ! make test TESTS=%{?_smp_mflags}; then set +x for f in $(find .. -name \*.diff -type f -print); do if ! grep -q XFAIL "${f/.diff/.phpt}" @@ -1714,11 +1672,9 @@ make -C build-fpm install-fpm \ make -C build-cgi install \ INSTALL_ROOT=$RPM_BUILD_ROOT -# Install the default configuration file and icons +# Install the default configuration file install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/ install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/php.ini -install -m 755 -d $RPM_BUILD_ROOT%{_httpd_contentdir}/icons -install -m 644 php.gif $RPM_BUILD_ROOT%{_httpd_contentdir}/icons/php.gif # For third-party packaging: install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/php @@ -1733,21 +1689,13 @@ install -m 755 build-zts/libs/libphp7.so $RPM_BUILD_ROOT%{_httpd_moddir}/libphp7 %endif # Apache config fragment -%if "%{_httpd_modconfdir}" == "%{_httpd_confdir}" -# Single config file with httpd < 2.4 (fedora <= 17) -install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf -%if %{with_zts} -cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_confdir}/php.conf -%endif -cat %{SOURCE1} >>$RPM_BUILD_ROOT%{_httpd_confdir}/php.conf -%else # Dual config file with httpd >= 2.4 (fedora >= 18) install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_modconfdir}/15-php.conf %if %{with_zts} && 0%{?fedora} < 27 && 0%{?rhel} < 8 cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_modconfdir}/15-php.conf %endif install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf -%endif + %if %{with_httpd2410} cat %{SOURCE11} >>$RPM_BUILD_ROOT%{_httpd_confdir}/php.conf %else @@ -1800,7 +1748,6 @@ install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/php-fpm %endif -%if %{with_systemd} install -m 755 -d $RPM_BUILD_ROOT/run/php-fpm # install systemd unit files and scripts for handling server startup # this folder requires systemd >= 204 @@ -1810,15 +1757,6 @@ install -Dm 644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/php-fpm.service install -Dm 644 %{SOURCE12} $RPM_BUILD_ROOT%{_unitdir}/httpd.service.d/php-fpm.conf install -Dm 644 %{SOURCE12} $RPM_BUILD_ROOT%{_unitdir}/nginx.service.d/php-fpm.conf %endif -%else -sed -ne '1,2p' -i $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/php-fpm -install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/run/php-fpm -sed -i -e 's:/run:/var/run:' $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf -sed -i -e 's:/run:/var/run:' $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/php-fpm -# Service -install -m 755 -d $RPM_BUILD_ROOT%{_initrddir} -install -m 755 %{SOURCE99} $RPM_BUILD_ROOT%{_initrddir}/php-fpm -%endif %if 0%{?fedora} >= 26 || 0%{?rhel} >= 8 sed -e '/EnvironmentFile/d' -i $RPM_BUILD_ROOT%{_unitdir}/php-fpm.service @@ -1859,21 +1797,20 @@ for mod in pgsql odbc ldap snmp xmlrpc imap json \ oci8 pdo_oci \ %endif %if %{with_firebird} - interbase pdo_firebird \ + pdo_firebird \ %endif -%if %{with_sqlite3} sqlite3 \ -%endif enchant phar fileinfo intl \ - tidy pdo_dblib pspell curl wddx \ + ffi \ + tidy pdo_dblib pspell curl \ sodium \ - posix shmop sysvshm sysvsem sysvmsg recode xml \ + posix shmop sysvshm sysvsem sysvmsg xml \ ; do case $mod in opcache) # Zend extensions ini=10-${mod}.ini;; - pdo_*|mysqli|wddx|xmlreader|xmlrpc) + pdo_*|mysqli|xmlreader|xmlrpc) # Extensions with dependencies on 20-* ini=30-${mod}.ini;; *) @@ -1909,7 +1846,7 @@ EOF done # The dom, xsl and xml* modules are all packaged in php-xml -cat files.dom files.xsl files.xml{reader,writer} files.wddx \ +cat files.dom files.xsl files.xml{reader,writer} \ files.simplexml >> files.xml # mysqlnd @@ -1923,9 +1860,6 @@ cat files.pdo_odbc >> files.odbc %if %{with_oci8} cat files.pdo_oci >> files.oci8 %endif -%if %{with_firebird} -cat files.pdo_firebird >> files.interbase -%endif # sysv* and posix in packaged in php-process cat files.shmop files.sysv* files.posix > files.process @@ -1933,9 +1867,7 @@ cat files.shmop files.sysv* files.posix > files.process # Package sqlite3 and pdo_sqlite with pdo; isolating the sqlite dependency # isn't useful at this time since rpm itself requires sqlite. cat files.pdo_sqlite >> files.pdo -%if %{with_sqlite3} cat files.sqlite3 >> files.pdo -%endif # Package curl, phar and fileinfo in -common. cat files.curl files.phar files.fileinfo \ @@ -1952,9 +1884,9 @@ sed -e '/blacklist_filename/s/php.d/php-zts.d/' \ %endif # Install the macros file: -sed -e "s/@PHP_APIVER@/%{apiver}%{isasuffix}/" \ - -e "s/@PHP_ZENDVER@/%{zendver}%{isasuffix}/" \ - -e "s/@PHP_PDOVER@/%{pdover}%{isasuffix}/" \ +sed -e "s/@PHP_APIVER@/%{apiver}-%{__isa_bits}/" \ + -e "s/@PHP_ZENDVER@/%{zendver}-%{__isa_bits}/" \ + -e "s/@PHP_PDOVER@/%{pdover}-%{__isa_bits}/" \ -e "s/@PHP_VERSION@/%{upver}/" \ %if ! %{with_zts} -e "/zts/d" \ @@ -1996,35 +1928,14 @@ exit 0 %endif %post fpm -%if %{with_systemd} %systemd_post php-fpm.service -%else -if [ $1 = 1 ]; then - # Initial installation - /sbin/chkconfig --add php-fpm -fi -%endif %preun fpm -%if %{with_systemd} %systemd_preun php-fpm.service -%else -if [ $1 = 0 ]; then - # Package removal, not upgrade - /sbin/service php-fpm stop >/dev/null 2>&1 - /sbin/chkconfig --del php-fpm -fi -%endif %if 0%{?fedora} < 27 && 0%{?rhel} < 8 %postun fpm -%if %{with_systemd} %systemd_postun_with_restart php-fpm.service -%else -if [ $1 -ge 1 ]; then - /sbin/service php-fpm condrestart >/dev/null 2>&1 || : -fi -%endif %endif %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 @@ -2068,13 +1979,10 @@ fi %attr(0770,root,apache) %dir %{_localstatedir}/lib/php/wsdlcache %attr(0770,root,apache) %dir %{_localstatedir}/lib/php/opcache %config(noreplace) %{_httpd_confdir}/php.conf -%if "%{_httpd_modconfdir}" != "%{_httpd_confdir}" %config(noreplace) %{_httpd_modconfdir}/15-php.conf -%endif -%{_httpd_contentdir}/icons/php.gif %files common -f files.common -%doc CODING_STANDARDS CREDITS EXTENSIONS NEWS README* +%doc EXTENSIONS NEWS UPGRADING* README.REDIST.BINS *md docs %license LICENSE TSRM_LICENSE %license libmagic_LICENSE %license timelib_LICENSE @@ -2112,7 +2020,6 @@ fi %{_mandir}/man1/phar.phar.1* %{_mandir}/man1/phpize.1* %{_mandir}/man1/zts-phpize.1* -%doc sapi/cgi/README* sapi/cli/README %files dbg %{_bindir}/phpdbg @@ -2144,7 +2051,6 @@ fi %config(noreplace) %{_sysconfdir}/nginx/conf.d/php-fpm.conf %config(noreplace) %{_sysconfdir}/nginx/default.d/php.conf %endif -%if %{with_systemd} %{_unitdir}/php-fpm.service %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 %{_unitdir}/httpd.service.d/%{?scl_prefix}php-fpm.conf @@ -2152,10 +2058,6 @@ fi %endif %dir %{_sysconfdir}/systemd/system/php-fpm.service.d %dir %ghost /run/php-fpm -%else -%{_initrddir}/php-fpm -%dir %{_localstatedir}/run/php-fpm -%endif %{_sbindir}/php-fpm %dir %{_sysconfdir}/php-fpm.d # log owned by apache for log @@ -2196,8 +2098,6 @@ fi %files xmlrpc -f files.xmlrpc %files mbstring -f files.mbstring %license libmbfl_LICENSE -%license oniguruma_COPYING -%license ucgendat_LICENSE %files gd -f files.gd %if ! %{with_libgd} %license libgd_README @@ -2205,7 +2105,7 @@ fi %endif %files soap -f files.soap %files bcmath -f files.bcmath -%license libbcmath_COPYING +%license libbcmath_LICENSE %files gmp -f files.gmp %files dba -f files.dba %files pdo -f files.pdo @@ -2214,9 +2114,8 @@ fi %files pspell -f files.pspell %files intl -f files.intl %files process -f files.process -%files recode -f files.recode %if %{with_firebird} -%files interbase -f files.interbase +%files pdo-firebird -f files.pdo_firebird %endif %files enchant -f files.enchant %files mysqlnd -f files.mysqlnd @@ -2231,9 +2130,13 @@ fi %endif %files json -f files.json %files sodium -f files.sodium +%files ffi -f files.ffi %changelog +* Thu Sep 5 2019 Remi Collet - 7.4.0~RC1-1 +- update to 7.4.0RC1 + * Wed Aug 28 2019 Remi Collet - 7.3.9-1 - Update to 7.3.9 - http://www.php.net/releases/7_3_9.php -- cgit