# API/ABI check %global apiver 20100412 %global zendver 20100525 %global pdover 20080721 # Extension version %global fileinfover 1.0.5 %global pharver 2.0.1 %global zipver 1.11.0 %global jsonver 1.2.1 # Adds -z now to the linker flags %global _hardened_build 1 # version used for php embedded library soname %global embed_version 5.4 %global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock) # Regression tests take a long time, you can skip 'em with this %{!?runselftest: %{expand: %%global runselftest 1}} # Use the arch-specific mysql_config binary to avoid mismatch with the # arch detection heuristic used by bindir/mysql_config. %global mysql_config %{_libdir}/mysql/mysql_config %global with_fpm 1 # Build mysql/mysqli/pdo extensions using libmysqlclient or only mysqlnd %global with_libmysql 1 # Build ZTS extension or only NTS %global with_zts 0 %if 0%{?__isa_bits:1} %global isasuffix -%{__isa_bits} %else %global isasuffix %nil %endif # /usr/sbin/apsx with httpd < 2.4 and defined as /usr/bin/apxs with httpd >= 2.4 %{!?_httpd_apxs: %{expand: %%global _httpd_apxs %%{_sbindir}/apxs}} %{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo missing-httpd-devel)}} %{!?_httpd_confdir: %{expand: %%global _httpd_confdir %%{_sysconfdir}/httpd/conf.d}} # /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4 %{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}} %{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}} %{!?_httpd_contentdir: %{expand: %%global _httpd_contentdir /var/www}} %if 0%{?fedora} < 17 && 0%{?rhel} < 7 %global with_zip 0 %global with_libzip 0 %global zipmod %nil %else %global with_zip 1 %global with_libzip 1 %global zipmod zip %endif %if 0%{?fedora} < 18 && 0%{?rhel} < 7 %global db_devel db4-devel %else %global db_devel libdb-devel %endif %global _performance_build 1 #global rcver RC2 Summary: PHP scripting language for creating dynamic web sites Name: php Version: 5.4.16 Release: 48%{?dist} # All files licensed under PHP version 3.01, except # Zend is licensed under Zend # TSRM is licensed under BSD License: PHP and Zend and BSD Group: Development/Languages URL: http://www.php.net/ Source0: http://www.php.net/distributions/php-%{version}%{?rcver}.tar.bz2 Source1: php.conf Source2: php.ini Source3: macros.php Source4: php-fpm.conf Source5: php-fpm-www.conf Source6: php-fpm.service Source7: php-fpm.logrotate Source8: php-fpm.sysconfig Source9: php.modconf Source10: php.ztsmodconf # Build fixes Patch5: php-5.2.0-includedir.patch Patch6: php-5.2.4-embed.patch Patch7: php-5.3.0-recode.patch Patch8: php-5.4.7-libdb.patch # Fixes for extension modules # https://bugs.php.net/63171 no odbc call during timeout Patch21: php-5.4.7-odbctimer.patch # Fixed Bug #64949 (Buffer overflow in _pdo_pgsql_error) Patch22: php-5.4.16-pdopgsql.patch # Fixed bug #64960 (Segfault in gc_zval_possible_root) Patch23: php-5.4.16-gc.patch # Fixed Bug #64915 (error_log ignored when daemonize=0) Patch24: php-5.4.16-fpm.patch # https://bugs.php.net/65143 php-cgi man page # https://bugs.php.net/65142 phar man page Patch25: php-5.4.16-man.patch # https://bugs.php.net/66987 fileinfo / bigendian Patch26: php-5.4.16-bug66987.patch # https://bugs.php.net/50444 pdo_odbc / x86_64 Patch27: php-5.4.16-bug50444.patch # https://bugs.php.net/63595 gmp memory allocator Patch28: php-5.4.16-bug63595.patch # https://bugs.php.net/62129 session rfc1867 Patch29: php-5.4.16-bug62129.patch # https://bugs.php.net/66762 mysqli segfault Patch30: php-5.4.16-bug66762.patch # https://bugs.php.net/65641 fpm script name Patch31: php-5.4.6-bug65641.patch # https://bugs.php.net/71089 duplicate ext Patch32: php-5.4.16-bug71089.patch # https://bugs.php.net/66833 default digest algo Patch33: php-5.4.16-bug66833.patch # fixed variable corruption Patch34: php-5.4.16-wddx.patch # bad logic in sapi header callback routine Patch35: php-5.4.16-bug66375.patch # Functional changes Patch40: php-5.4.0-dlopen.patch Patch41: php-5.4.0-easter.patch Patch42: php-5.3.1-systzdata-v10.patch # See http://bugs.php.net/53436 Patch43: php-5.4.0-phpize.patch # Use system libzip instead of bundled one Patch44: php-5.4.15-system-libzip.patch # Use -lldap_r for OpenLDAP Patch45: php-5.4.8-ldap_r.patch # Make php_config.h constant across builds Patch46: php-5.4.9-fixheader.patch # drop "Configure command" from phpinfo output Patch47: php-5.4.9-phpinfo.patch # Fix php_select on aarch64 (http://bugs.php.net/67406) Patch48: php-5.4.16-aarch64-select.patch Patch49: php-5.4.16-curltls.patch # add clear_env option to FPM config Patch50: php-5.4.16-fpmclearenv.patch # fix default_socket_timeout does not work with SSL Patch51: php-5.4.16-openssl-timeout.patch # load openssl configuration file Patch52: php-5.4.16-openssl-config.patch # Fixes for tests Patch60: php-5.4.16-pdotests.patch # Security fixes Patch100: php-5.4.17-CVE-2013-4013.patch Patch101: php-5.4.16-CVE-2013-4248.patch Patch102: php-5.4.16-CVE-2013-6420.patch Patch104: php-5.4.16-CVE-2014-1943.patch Patch105: php-5.4.16-CVE-2013-6712.patch Patch107: php-5.4.16-CVE-2014-2270.patch Patch108: php-5.4.16-CVE-2013-7345.patch Patch109: php-5.4.16-CVE-2014-0237.patch Patch110: php-5.4.16-CVE-2014-0238.patch Patch111: php-5.4.16-CVE-2014-3479.patch Patch112: php-5.4.16-CVE-2014-3480.patch Patch113: php-5.4.16-CVE-2014-4721.patch Patch114: php-5.4.16-CVE-2014-4049.patch Patch115: php-5.4.16-CVE-2014-3515.patch Patch116: php-5.4.16-CVE-2014-0207.patch Patch117: php-5.4.16-CVE-2014-3487.patch Patch118: php-5.4.16-CVE-2014-2497.patch Patch119: php-5.4.16-CVE-2014-3478.patch Patch120: php-5.4.16-CVE-2014-3538.patch Patch121: php-5.4.16-CVE-2014-3587.patch Patch122: php-5.4.16-CVE-2014-5120.patch Patch123: php-5.4.16-CVE-2014-4698.patch Patch124: php-5.4.16-CVE-2014-4670.patch Patch125: php-5.4.16-CVE-2014-3597.patch Patch126: php-5.4.16-CVE-2014-3668.patch Patch127: php-5.4.16-CVE-2014-3669.patch Patch128: php-5.4.16-CVE-2014-3670.patch Patch129: php-5.4.16-CVE-2014-3710.patch Patch130: php-5.4.16-CVE-2014-8142.patch Patch131: php-5.4.16-CVE-2015-0231.patch Patch132: php-5.4.16-CVE-2015-0232.patch Patch133: php-5.4.16-CVE-2014-9652.patch Patch134: php-5.4.16-CVE-2014-9709.patch Patch135: php-5.4.16-CVE-2015-0273.patch Patch136: php-5.4.16-CVE-2014-9705.patch Patch137: php-5.4.16-CVE-2015-2301.patch Patch138: php-5.4.16-bug69085.patch Patch139: php-5.4.16-CVE-2015-2787.patch Patch140: php-5.4.16-CVE-2015-2348.patch Patch145: php-5.4.16-CVE-2015-4022.patch Patch146: php-5.4.16-CVE-2015-4021.patch Patch147: php-5.4.16-CVE-2015-4024.patch Patch148: php-5.4.16-CVE-2015-4025.patch Patch149: php-5.4.16-CVE-2015-3330.patch Patch150: php-5.4.16-bug69353.patch Patch151: php-5.4.16-CVE-2015-2783.patch Patch152: php-5.4.16-CVE-2015-3329.patch Patch153: php-5.4.16-bug68819.patch Patch154: php-5.4.16-bug69152.patch Patch155: php-5.4.16-CVE-2016-5385.patch Patch156: php-5.4.16-CVE-2016-5766.patch Patch157: php-5.4.16-CVE-2016-5767.patch Patch158: php-5.4.16-CVE-2016-5768.patch Patch159: php-5.4.16-CVE-2016-5399.patch Patch160: php-5.4.16-CVE-2016-10167.patch Patch161: php-5.4.16-CVE-2016-10168.patch Patch162: php-5.4.16-CVE-2017-7890.patch Patch163: php-5.4.16-CVE-2018-5784.patch Patch164: php-5.4.16-CVE-2019-9024.patch Patch165: php-5.4.16-CVE-2018-5712.patch Patch166: php-5.4.16-CVE-2018-10547.patch Patch167: php-5.4.16-CVE-2019-11043.patch BuildRequires: bzip2-devel, curl-devel >= 7.9, gmp-devel BuildRequires: httpd-devel >= 2.0.46-1, pam-devel BuildRequires: libstdc++-devel, openssl-devel BuildRequires: sqlite-devel >= 3.6.0 BuildRequires: zlib-devel, smtpdaemon, libedit-devel BuildRequires: pcre-devel >= 6.6 BuildRequires: bzip2, perl, libtool >= 1.4.3, gcc-c++ BuildRequires: libtool-ltdl-devel %if %{with_libzip} BuildRequires: libzip-devel >= 0.10 %endif Obsoletes: php-dbg, php3, phpfi, stronghold-php %if %{with_zts} Obsoletes: php-zts < 5.3.7 Provides: php-zts = %{version}-%{release} Provides: php-zts%{?_isa} = %{version}-%{release} %endif # php engine for webserver working out of the box Provides: php(httpd) 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: Requires(pre): httpd # Don't provides extensions, which are not shared library, as .so %{?filter_provides_in: %filter_provides_in %{_libdir}/php/modules/.*\.so$} %{?filter_provides_in: %filter_provides_in %{_libdir}/php-zts/modules/.*\.so$} %{?filter_provides_in: %filter_provides_in %{_httpd_moddir}/.*\.so$} %{?filter_setup} %description PHP is an HTML-embedded scripting language. PHP attempts to make it easy for developers to write dynamically generated web pages. PHP also offers built-in database integration for several commercial and non-commercial database management systems, so writing a database-enabled webpage with PHP is fairly simple. The most common use of PHP coding is probably as a replacement for CGI scripts. The php package contains the module (often referred to as mod_php) which adds support for the PHP language to Apache HTTP Server. %package cli Group: Development/Languages Summary: Command-line interface for PHP Requires: php-common%{?_isa} = %{version}-%{release} Provides: php-cgi = %{version}-%{release}, php-cgi%{?_isa} = %{version}-%{release} Provides: php-pcntl, php-pcntl%{?_isa} Provides: php-readline, php-readline%{?_isa} %description cli The php-cli package contains the command-line interface executing PHP scripts, /usr/bin/php, and the CGI interface. %if %{with_fpm} %package fpm Group: Development/Languages Summary: PHP FastCGI Process Manager # All files licensed under PHP version 3.01, except # Zend is licensed under Zend # TSRM and fpm are licensed under BSD License: PHP and Zend and BSD Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: systemd-devel BuildRequires: systemd-units Requires: systemd-units Requires(pre): /usr/sbin/useradd Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units # 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 %description fpm PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites. %endif %package common Group: Development/Languages Summary: Common files for PHP # All files licensed under PHP version 3.01, except # fileinfo is licensed under PHP version 3.0 # regex, libmagic are licensed under BSD # main/snprintf.c, main/spprintf.c and main/rfc1867.c are ASL 1.0 License: PHP and BSD and ASL 1.0 # ABI/API check - Arch specific Provides: php-api = %{apiver}%{isasuffix}, php-zend-abi = %{zendver}%{isasuffix} Provides: php(api) = %{apiver}%{isasuffix}, php(zend-abi) = %{zendver}%{isasuffix} Provides: php(language) = %{version}, php(language)%{?_isa} = %{version} # Provides for all builtin/shared modules: Provides: php-bz2, php-bz2%{?_isa} Provides: php-calendar, php-calendar%{?_isa} Provides: php-core = %{version}, php-core%{?_isa} = %{version} Provides: php-ctype, php-ctype%{?_isa} Provides: php-curl, php-curl%{?_isa} Provides: php-date, php-date%{?_isa} Provides: php-ereg, php-ereg%{?_isa} Provides: php-exif, php-exif%{?_isa} Provides: php-fileinfo, php-fileinfo%{?_isa} Provides: php-pecl-Fileinfo = %{fileinfover}, php-pecl-Fileinfo%{?_isa} = %{fileinfover} Provides: php-pecl(Fileinfo) = %{fileinfover}, php-pecl(Fileinfo)%{?_isa} = %{fileinfover} Provides: php-filter, php-filter%{?_isa} Provides: php-ftp, php-ftp%{?_isa} Provides: php-gettext, php-gettext%{?_isa} Provides: php-gmp, php-gmp%{?_isa} Provides: php-hash, php-hash%{?_isa} Provides: php-mhash = %{version}, php-mhash%{?_isa} = %{version} Provides: php-iconv, php-iconv%{?_isa} Provides: php-json, php-json%{?_isa} Provides: php-pecl-json = %{jsonver}, php-pecl-json%{?_isa} = %{jsonver} Provides: php-pecl(json) = %{jsonver}, php-pecl(json)%{?_isa} = %{jsonver} Provides: php-libxml, php-libxml%{?_isa} Provides: php-openssl, php-openssl%{?_isa} Provides: php-pecl-phar = %{pharver}, php-pecl-phar%{?_isa} = %{pharver} Provides: php-pecl(phar) = %{pharver}, php-pecl(phar)%{?_isa} = %{pharver} Provides: php-phar, php-phar%{?_isa} Provides: php-pcre, php-pcre%{?_isa} Provides: php-reflection, php-reflection%{?_isa} Provides: php-session, php-session%{?_isa} Provides: php-shmop, php-shmop%{?_isa} Provides: php-simplexml, php-simplexml%{?_isa} Provides: php-sockets, php-sockets%{?_isa} Provides: php-spl, php-spl%{?_isa} Provides: php-standard = %{version}, php-standard%{?_isa} = %{version} Provides: php-tokenizer, php-tokenizer%{?_isa} %if %{with_zip} Provides: php-zip, php-zip%{?_isa} Provides: php-pecl-zip = %{zipver}, php-pecl-zip%{?_isa} = %{zipver} Provides: php-pecl(zip) = %{zipver}, php-pecl(zip)%{?_isa} = %{zipver} Obsoletes: php-pecl-zip < 1.11 %endif Provides: php-zlib, php-zlib%{?_isa} Obsoletes: php-openssl Obsoletes: php-pecl-json < 1.2.2 Obsoletes: php-pecl-phar < 1.2.4 Obsoletes: php-pecl-Fileinfo < 1.0.5 Obsoletes: php-mhash < 5.3.0 %description common The php-common package contains files used by both the php package and the php-cli package. %package devel Group: Development/Libraries Summary: Files needed for building PHP extensions Requires: php-cli%{?_isa} = %{version}-%{release}, autoconf, automake Requires: pcre-devel%{?_isa} Obsoletes: php-pecl-pdo-devel %if %{with_zts} Provides: php-zts-devel = %{version}-%{release} Provides: php-zts-devel%{?_isa} = %{version}-%{release} %endif %description devel The php-devel package contains the files needed for building PHP extensions. If you need to compile your own PHP extensions, you will need to install this package. %package ldap Summary: A module for PHP applications that use LDAP Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: mod_php3-ldap, stronghold-php-ldap BuildRequires: cyrus-sasl-devel, openldap-devel, openssl-devel %description ldap The php-ldap adds Lightweight Directory Access Protocol (LDAP) support to PHP. LDAP is a set of protocols for accessing directory services over the Internet. PHP is an HTML-embedded scripting language. %package pdo Summary: A database access abstraction module for PHP applications Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: php-pecl-pdo-sqlite, php-pecl-pdo # ABI/API check - Arch specific Provides: php-pdo-abi = %{pdover}%{isasuffix} Provides: php(pdo-abi) = %{pdover}%{isasuffix} Provides: php-sqlite3, php-sqlite3%{?_isa} Provides: php-pdo_sqlite, php-pdo_sqlite%{?_isa} %description pdo The php-pdo package contains a dynamic shared object that will add a database access abstraction layer to PHP. This module provides a common interface for accessing MySQL, PostgreSQL or other databases. %if %{with_libmysql} %package mysql Summary: A module for PHP applications that use MySQL databases Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-pdo%{?_isa} = %{version}-%{release} Provides: php_database Provides: php-mysqli = %{version}-%{release} Provides: php-mysqli%{?_isa} = %{version}-%{release} Provides: php-pdo_mysql, php-pdo_mysql%{?_isa} Obsoletes: mod_php3-mysql, stronghold-php-mysql BuildRequires: mysql-devel >= 4.1.0 Conflicts: php-mysqlnd %description mysql The php-mysql package contains a dynamic shared object that will add MySQL database support to PHP. MySQL is an object-relational database management system. PHP is an HTML-embeddable scripting language. If you need MySQL support for PHP applications, you will need to install this package and the php package. %endif %package mysqlnd Summary: A module for PHP applications that use MySQL databases Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-pdo%{?_isa} = %{version}-%{release} Provides: php_database Provides: php-mysql = %{version}-%{release} Provides: php-mysql%{?_isa} = %{version}-%{release} Provides: php-mysqli = %{version}-%{release} Provides: php-mysqli%{?_isa} = %{version}-%{release} Provides: php-pdo_mysql, php-pdo_mysql%{?_isa} %if ! %{with_libmysql} Obsoletes: php-mysql < %{version}-%{release} %endif %description mysqlnd The php-mysqlnd package contains a dynamic shared object that will add MySQL database support to PHP. MySQL is an object-relational database management system. PHP is an HTML-embeddable scripting language. If you need MySQL support for PHP applications, you will need to install this package and the php package. This package use the MySQL Native Driver %package pgsql Summary: A PostgreSQL database module for PHP Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-pdo%{?_isa} = %{version}-%{release} Provides: php_database Provides: php-pdo_pgsql, php-pdo_pgsql%{?_isa} Obsoletes: mod_php3-pgsql, stronghold-php-pgsql BuildRequires: krb5-devel, openssl-devel, postgresql-devel %description pgsql The php-pgsql add PostgreSQL database support to PHP. PostgreSQL is an object-relational database management system that supports almost all SQL constructs. PHP is an HTML-embedded scripting language. If you need back-end support for PostgreSQL, you should install this package in addition to the main php package. %package process Summary: Modules for PHP script using system process interfaces Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} Provides: php-posix, php-posix%{?_isa} Provides: php-sysvsem, php-sysvsem%{?_isa} Provides: php-sysvshm, php-sysvshm%{?_isa} Provides: php-sysvmsg, php-sysvmsg%{?_isa} %description process The php-process package contains dynamic shared objects which add support to PHP using system interfaces for inter-process communication. %package odbc Summary: A module for PHP applications that use ODBC databases Group: Development/Languages # All files licensed under PHP version 3.01, except # pdo_odbc is licensed under PHP version 3.0 License: PHP Requires: php-pdo%{?_isa} = %{version}-%{release} Provides: php_database Provides: php-pdo_odbc, php-pdo_odbc%{?_isa} Obsoletes: stronghold-php-odbc BuildRequires: unixODBC-devel %description odbc The php-odbc package contains a dynamic shared object that will add database support through ODBC to PHP. ODBC is an open specification which provides a consistent API for developers to use for accessing data sources (which are often, but not always, databases). PHP is an HTML-embeddable scripting language. If you need ODBC support for PHP applications, you will need to install this package and the php package. %package soap Summary: A module for PHP applications that use the SOAP protocol Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: libxml2-devel %description soap The php-soap package contains a dynamic shared object that will add support to PHP for using the SOAP web services protocol. %package snmp Summary: A module for PHP applications that query SNMP-managed devices Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-common%{?_isa} = %{version}-%{release}, net-snmp BuildRequires: net-snmp-devel # Workaround, see https://bugzilla.redhat.com/1486733 BuildRequires: net-snmp %description snmp The php-snmp package contains a dynamic shared object that will add support for querying SNMP devices to PHP. PHP is an HTML-embeddable scripting language. If you need SNMP support for PHP applications, you will need to install this package and the php package. %package xml Summary: A module for PHP applications which use XML Group: Development/Languages # All files licensed under PHP version 3.01 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: php-domxml, php-dom Provides: php-dom, php-dom%{?_isa} Provides: php-xsl, php-xsl%{?_isa} Provides: php-domxml, php-domxml%{?_isa} Provides: php-wddx, php-wddx%{?_isa} Provides: php-xmlreader, php-xmlreader%{?_isa} Provides: php-xmlwriter, php-xmlwriter%{?_isa} BuildRequires: libxslt-devel >= 1.0.18-1, libxml2-devel >= 2.4.14-1 %description xml The php-xml package contains dynamic shared objects which add support to PHP for manipulating XML documents using the DOM tree, and performing XSL transformations on XML documents. %package xmlrpc Summary: A module for PHP applications which use the XML-RPC protocol Group: Development/Languages # All files licensed under PHP version 3.01, except # libXMLRPC is licensed under BSD License: PHP and BSD Requires: php-common%{?_isa} = %{version}-%{release} %description xmlrpc The php-xmlrpc package contains a dynamic shared object that will add support for the XML-RPC protocol to PHP. %package mbstring Summary: A module for PHP applications which need multi-byte string handling Group: Development/Languages # All files licensed under PHP version 3.01, except # libmbfl is licensed under LGPLv2 # onigurama is licensed under BSD # ucgendat is licensed under OpenLDAP License: PHP and LGPLv2 and BSD and OpenLDAP Requires: php-common%{?_isa} = %{version}-%{release} %description mbstring The php-mbstring package contains a dynamic shared object that will add support for multi-byte string handling to PHP. %package gd Summary: A module for PHP applications for using the gd graphics library Group: Development/Languages # All files licensed under PHP version 3.01, except # libgd is licensed under BSD License: PHP and BSD Requires: php-common%{?_isa} = %{version}-%{release} # Required to build the bundled GD library BuildRequires: libjpeg-devel, libpng-devel, freetype-devel BuildRequires: libXpm-devel, t1lib-devel %description gd The php-gd package contains a dynamic shared object that will add support for using the gd graphics library to PHP. %package bcmath Summary: A module for PHP applications for using the bcmath library Group: Development/Languages # All files licensed under PHP version 3.01, except # libbcmath is licensed under LGPLv2+ License: PHP and LGPLv2+ Requires: php-common%{?_isa} = %{version}-%{release} %description bcmath The php-bcmath package contains a dynamic shared object that will add support for using the bcmath library to PHP. %package dba 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}, tokyocabinet-devel Requires: php-common%{?_isa} = %{version}-%{release} %description dba The php-dba package contains a dynamic shared object that will add support for using the DBA database abstraction layer to PHP. %package embedded Summary: PHP library for embedding in applications Group: System Environment/Libraries Requires: php-common%{?_isa} = %{version}-%{release} # doing a real -devel package for just the .so symlink is a bit overkill Provides: php-embedded-devel = %{version}-%{release} Provides: php-embedded-devel%{?_isa} = %{version}-%{release} %description embedded The php-embedded package contains a library which can be embedded into applications to provide PHP scripting language support. %package pspell Summary: A module for PHP applications for using pspell interfaces Group: System Environment/Libraries # All files licensed under PHP version 3.01 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: aspell-devel >= 0.50.0 %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 %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} BuildRequires: libicu-devel >= 3.6 %description intl The php-intl package contains a dynamic shared object that will add support for using the ICU library to PHP. %package enchant Summary: Enchant spelling extension for PHP applications 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 %description enchant The php-enchant package contains a dynamic shared object that will add support for using the enchant library to PHP. %prep %setup -q -n php-%{version}%{?rcver} %patch5 -p1 -b .includedir %patch6 -p1 -b .embed %patch7 -p1 -b .recode %patch8 -p1 -b .libdb %patch21 -p1 -b .odbctimer %patch22 -p1 -b .pdopgsql %patch23 -p1 -b .gc %patch24 -p1 -b .fpm %patch25 -p1 -b .manpages %patch26 -p1 -b .bug66987 %patch27 -p1 -b .bug50444 %patch28 -p1 -b .bug63595 %patch29 -p1 -b .bug62129 %patch30 -p1 -b .bug66762 %patch31 -p1 -b .bug65641 %patch32 -p1 -b .bug71089 %patch33 -p1 -b .bug66833 %patch34 -p1 -b .fix %patch35 -p1 -b .bug66375 %patch40 -p1 -b .dlopen %patch41 -p1 -b .easter %patch42 -p1 -b .systzdata %patch43 -p1 -b .headers %if %{with_libzip} %patch44 -p1 -b .systzip %endif %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 %patch45 -p1 -b .ldap_r %endif %patch46 -p1 -b .fixheader %patch47 -p1 -b .phpinfo %patch48 -p1 -b .aarch64select %patch49 -p1 -b .curltls %patch50 -p1 -b .clearenv %patch51 -p1 -b .ssl_timeout %patch52 -p1 -b .config %patch60 -p1 -b .pdotests %patch100 -p1 -b .cve4113 %patch101 -p1 -b .cve4248 %patch102 -p1 -b .cve6420 %patch104 -p1 -b .cve1943 %patch105 -p1 -b .cve6712 %patch107 -p1 -b .cve2270 %patch108 -p1 -b .cve7345 %patch109 -p1 -b .cve0237 %patch110 -p1 -b .cve0238 %patch111 -p1 -b .cve3479 %patch112 -p1 -b .cve3480 %patch113 -p1 -b .cve4721 %patch114 -p1 -b .cve4049 %patch115 -p1 -b .cve3515 %patch116 -p1 -b .cve0207 %patch117 -p1 -b .cve3487 %patch118 -p1 -b .cve2497 %patch119 -p1 -b .cve3478 %patch120 -p1 -b .cve3538 %patch121 -p1 -b .cve3587 %patch122 -p1 -b .cve5120 %patch123 -p1 -b .cve4698 %patch124 -p1 -b .cve4670 %patch125 -p1 -b .cve3597 %patch126 -p1 -b .cve3668 %patch127 -p1 -b .cve3669 %patch128 -p1 -b .cve3670 %patch129 -p1 -b .cve3710 %patch130 -p1 -b .cve8142 %patch131 -p1 -b .cve0231 %patch132 -p1 -b .cve0232 %patch133 -p1 -b .cve9652 %patch134 -p1 -b .cve9709 %patch135 -p1 -b .cve0273 %patch136 -p1 -b .cve9705 %patch137 -p1 -b .cve2301 %patch138 -p1 -b .bug68095 %patch139 -p1 -b .cve2787 %patch140 -p1 -b .cve2348 %patch145 -p1 -b .cve4022 %patch146 -p1 -b .cve4021 %patch147 -p1 -b .cve4024 %patch148 -p1 -b .cve4025 %patch149 -p1 -b .cve3330 %patch150 -p1 -b .bug69353 %patch151 -p1 -b .cve2783 %patch152 -p1 -b .cve3329 %patch153 -p1 -b .bug68819 %patch154 -p1 -b .bug69152 %patch155 -p1 -b .cve5385 %patch156 -p1 -b .cve5766 %patch157 -p1 -b .cve5767 %patch158 -p1 -b .cve5768 %patch159 -p1 -b .cve5399 %patch160 -p1 -b .cve10167 %patch161 -p1 -b .cve10168 %patch162 -p1 -b .cve7890 %patch163 -p1 -b .cve7584 %patch164 -p1 -b .cve9024 %patch165 -p1 -b .cve5712 %patch166 -p1 -b .cve10547 %patch167 -p1 -b .cve11043 # Prevent %%doc confusion over LICENSE files cp Zend/LICENSE Zend/ZEND_LICENSE cp TSRM/LICENSE TSRM_LICENSE cp ext/ereg/regex/COPYRIGHT regex_COPYRIGHT cp ext/gd/libgd/README libgd_README cp ext/gd/libgd/COPYING libgd_COPYING 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/phar/LICENSE phar_LICENSE cp ext/bcmath/libbcmath/COPYING.LIB libbcmath_COPYING # Multiple builds for multiple SAPIs mkdir build-cgi build-apache build-embedded \ %if %{with_zts} build-zts build-ztscli \ %endif %if %{with_fpm} build-fpm %endif # ----- Manage known as failed test ------- # php_egg_logo_guid() removed by patch41 rm -f tests/basic/php_egg_logo_guid.phpt # affected by systzdata patch rm -f ext/date/tests/timezone_location_get.phpt # fails sometime rm -f ext/sockets/tests/mcast_ipv?_recv.phpt # Safety check for API version change. pver=$(sed -n '/#define PHP_VERSION /{s/.* "//;s/".*$//;p}' main/php_version.h) if test "x${pver}" != "x%{version}%{?rcver}"; then : Error: Upstream PHP version is now ${pver}, expecting %{version}%{?rcver}. : Update the version/rcver macros and rebuild. exit 1 fi vapi=`sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h` if test "x${vapi}" != "x%{apiver}"; then : Error: Upstream API version is now ${vapi}, expecting %{apiver}. : Update the apiver macro and rebuild. exit 1 fi vzend=`sed -n '/#define ZEND_MODULE_API_NO/{s/^[^0-9]*//;p;}' Zend/zend_modules.h` if test "x${vzend}" != "x%{zendver}"; then : Error: Upstream Zend ABI version is now ${vzend}, expecting %{zendver}. : Update the zendver macro and rebuild. exit 1 fi # Safety check for PDO ABI version change vpdo=`sed -n '/#define PDO_DRIVER_API/{s/.*[ ]//;p}' ext/pdo/php_pdo_driver.h` if test "x${vpdo}" != "x%{pdover}"; then : Error: Upstream PDO ABI version is now ${vpdo}, expecting %{pdover}. : Update the pdover macro and rebuild. exit 1 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 : 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 : Error: Upstream PHAR version is now ${ver}, expecting %{pharver}. : Update the pharver macro and rebuild. exit 1 fi ver=$(sed -n '/#define PHP_ZIP_VERSION_STRING /{s/.* "//;s/".*$//;p}' ext/zip/php_zip.h) if test "$ver" != "%{zipver}"; then : Error: Upstream ZIP version is now ${ver}, expecting %{zipver}. : Update the zipver macro and rebuild. exit 1 fi 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. rm -f TSRM/tsrm_win32.h \ TSRM/tsrm_config.w32.h \ Zend/zend_config.w32.h \ ext/mysqlnd/config-win.h \ ext/standard/winver.h \ main/win32_internal_function_disabled.h \ main/win95nt.h # Fix some bogus permissions find . -name \*.[ch] -exec chmod 644 {} \; chmod 644 README.* # php-fpm configuration files for tmpfiles.d echo "d /run/php-fpm 755 root root" >php-fpm.tmpfiles # bring in newer Red Hat config.guess and config.sub for aarch64/ppc64p7 support cp -f /usr/lib/rpm/redhat/config.{guess,sub} . %build # 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 # Regenerate configure scripts (patches change config.m4's) touch configure.in ./buildconf --force CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign" export CFLAGS # Install extension modules in %{_libdir}/php/modules. EXTENSION_DIR=%{_libdir}/php/modules; export EXTENSION_DIR # Set PEAR_INSTALLDIR to ensure that the hard-coded include_path # includes the PEAR directory even though pear is packaged # separately. PEAR_INSTALLDIR=%{_datadir}/pear; export PEAR_INSTALLDIR # Shell function to configure and build a PHP tree. build() { # Old/recent bison version seems to produce a broken parser; # upstream uses GNU Bison 2.3. Workaround: mkdir Zend && cp ../Zend/zend_{language,ini}_{parser,scanner}.[ch] Zend ln -sf ../configure %configure \ --cache-file=../config.cache \ --with-libdir=%{_lib} \ --with-config-file-path=%{_sysconfdir} \ --with-config-file-scan-dir=%{_sysconfdir}/php.d \ --disable-debug \ --with-pic \ --disable-rpath \ --without-pear \ --with-bz2 \ --with-exec-dir=%{_bindir} \ --with-freetype-dir=%{_prefix} \ --with-png-dir=%{_prefix} \ --with-xpm-dir=%{_prefix} \ --enable-gd-native-ttf \ --with-t1lib=%{_prefix} \ --without-gdbm \ --with-gettext \ --with-gmp \ --with-iconv \ --with-jpeg-dir=%{_prefix} \ --with-openssl \ --with-pcre-regex=%{_prefix} \ --with-zlib \ --with-layout=GNU \ --enable-exif \ --enable-ftp \ --enable-sockets \ --with-kerberos \ --enable-shmop \ --enable-calendar \ --with-libxml-dir=%{_prefix} \ --enable-xml \ --with-system-tzdata \ --with-mhash \ $* if test $? != 0; then tail -500 config.log : configure failed exit 1 fi make %{?_smp_mflags} } # Build /usr/bin/php-cgi with the CGI SAPI, and all the shared extensions pushd build-cgi build --libdir=%{_libdir}/php \ --enable-pcntl \ --enable-mbstring=shared \ --enable-mbregex \ --with-gd=shared \ --enable-bcmath=shared \ --enable-dba=shared --with-db4=%{_prefix} \ --with-tcadb=%{_prefix} \ --with-xmlrpc=shared \ --with-ldap=shared --with-ldap-sasl \ --enable-mysqlnd=shared \ --with-mysql=shared,mysqlnd \ --with-mysqli=shared,mysqlnd \ --with-mysql-sock=%{mysql_sock} \ --enable-dom=shared \ --with-pgsql=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} \ --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-sqlite3=shared,%{_prefix} \ --enable-json=shared \ %if %{with_zip} --enable-zip=shared \ %endif %if %{with_libzip} --with-libzip \ %endif --without-readline \ --with-libedit \ --with-pspell=shared \ --enable-phar=shared \ --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \ --enable-posix=shared \ --with-unixODBC=shared,%{_prefix} \ --enable-fileinfo=shared \ --enable-intl=shared \ --with-icu-dir=%{_prefix} \ --with-enchant=shared,%{_prefix} \ --with-recode=shared,%{_prefix} popd without_shared="--without-gd \ --disable-dom --disable-dba --without-unixODBC \ --disable-xmlreader --disable-xmlwriter \ --without-sqlite3 --disable-phar --disable-fileinfo \ --disable-json --without-pspell --disable-wddx \ --without-curl --disable-posix \ --disable-sysvmsg --disable-sysvshm --disable-sysvsem" # Build Apache module, and the CLI SAPI, /usr/bin/php pushd build-apache build --with-apxs2=%{_httpd_apxs} \ --libdir=%{_libdir}/php \ %if %{with_libmysql} --enable-pdo=shared \ --with-mysql=shared,%{_prefix} \ --with-mysqli=shared,%{mysql_config} \ --with-pdo-mysql=shared,%{mysql_config} \ --without-pdo-sqlite \ %else --without-mysql \ --disable-pdo \ %endif ${without_shared} popd %if %{with_fpm} # Build php-fpm pushd build-fpm build --enable-fpm \ --with-fpm-systemd \ --libdir=%{_libdir}/php \ --without-mysql \ --disable-pdo \ ${without_shared} popd %endif # Build for inclusion as embedded script language into applications, # /usr/lib[64]/libphp5.so pushd build-embedded build --enable-embed \ --without-mysql --disable-pdo \ ${without_shared} popd %if %{with_zts} # Build a special thread-safe (mainly for modules) pushd build-ztscli EXTENSION_DIR=%{_libdir}/php-zts/modules build --includedir=%{_includedir}/php-zts \ --libdir=%{_libdir}/php-zts \ --enable-maintainer-zts \ --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \ --enable-pcntl \ --enable-mbstring=shared \ --enable-mbregex \ --with-gd=shared \ --enable-bcmath=shared \ --enable-dba=shared --with-db4=%{_prefix} \ --with-tcadb=%{_prefix} \ --with-xmlrpc=shared \ --with-ldap=shared --with-ldap-sasl \ --enable-mysqlnd=shared \ --with-mysql=shared,mysqlnd \ --with-mysqli=shared,mysqlnd \ --with-mysql-sock=%{mysql_sock} \ --enable-mysqlnd-threading \ --enable-dom=shared \ --with-pgsql=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} \ --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-sqlite3=shared,%{_prefix} \ --enable-json=shared \ %if %{with_zip} --enable-zip=shared \ %endif %if %{with_libzip} --with-libzip \ %endif --without-readline \ --with-libedit \ --with-pspell=shared \ --enable-phar=shared \ --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \ --enable-posix=shared \ --with-unixODBC=shared,%{_prefix} \ --enable-fileinfo=shared \ --enable-intl=shared \ --with-icu-dir=%{_prefix} \ --with-enchant=shared,%{_prefix} \ --with-recode=shared,%{_prefix} popd # Build a special thread-safe Apache SAPI pushd build-zts build --with-apxs2=%{_httpd_apxs} \ --includedir=%{_includedir}/php-zts \ --libdir=%{_libdir}/php-zts \ --enable-maintainer-zts \ --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \ %if %{with_libmysql} --enable-pdo=shared \ --with-mysql=shared,%{_prefix} \ --with-mysqli=shared,%{mysql_config} \ --with-pdo-mysql=shared,%{mysql_config} \ --without-pdo-sqlite \ %else --without-mysql \ --disable-pdo \ %endif ${without_shared} popd ### NOTE!!! EXTENSION_DIR was changed for the -zts build, so it must remain ### the last SAPI to be built. %endif %check %if %runselftest cd build-apache # Run tests, using the CLI SAPI export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2 export SKIP_ONLINE_TESTS=1 unset TZ LANG LC_ALL if ! make test; then set +x for f in `find .. -name \*.diff -type f -print`; do echo "TEST FAILURE: $f --" cat "$f" echo "-- $f result ends." done set -x #exit 1 fi unset NO_INTERACTION REPORT_EXIT_STATUS MALLOC_CHECK_ %endif %install %if %{with_zts} # Install the extensions for the ZTS version make -C build-ztscli install \ INSTALL_ROOT=$RPM_BUILD_ROOT # rename extensions build with mysqlnd mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysql.so \ $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqlnd_mysql.so mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqli.so \ $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqlnd_mysqli.so mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/pdo_mysql.so \ $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/pdo_mysqlnd.so %if %{with_libmysql} # Install the extensions for the ZTS version modules for libmysql make -C build-zts install-modules \ INSTALL_ROOT=$RPM_BUILD_ROOT %endif # rename ZTS binary mv $RPM_BUILD_ROOT%{_bindir}/php $RPM_BUILD_ROOT%{_bindir}/zts-php mv $RPM_BUILD_ROOT%{_bindir}/phpize $RPM_BUILD_ROOT%{_bindir}/zts-phpize mv $RPM_BUILD_ROOT%{_bindir}/php-config $RPM_BUILD_ROOT%{_bindir}/zts-php-config %endif # Install the version for embedded script language in applications + php_embed.h make -C build-embedded install-sapi install-headers \ INSTALL_ROOT=$RPM_BUILD_ROOT %if %{with_fpm} # Install the php-fpm binary make -C build-fpm install-fpm \ INSTALL_ROOT=$RPM_BUILD_ROOT %endif # Install everything from the CGI SAPI build make -C build-cgi install \ INSTALL_ROOT=$RPM_BUILD_ROOT # rename extensions build with mysqlnd mv $RPM_BUILD_ROOT%{_libdir}/php/modules/mysql.so \ $RPM_BUILD_ROOT%{_libdir}/php/modules/mysqlnd_mysql.so mv $RPM_BUILD_ROOT%{_libdir}/php/modules/mysqli.so \ $RPM_BUILD_ROOT%{_libdir}/php/modules/mysqlnd_mysqli.so mv $RPM_BUILD_ROOT%{_libdir}/php/modules/pdo_mysql.so \ $RPM_BUILD_ROOT%{_libdir}/php/modules/pdo_mysqlnd.so %if %{with_libmysql} # Install the mysql extension build with libmysql make -C build-apache install-modules \ INSTALL_ROOT=$RPM_BUILD_ROOT %endif # Install the default configuration file and icons 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 # install the DSO install -m 755 -d $RPM_BUILD_ROOT%{_httpd_moddir} install -m 755 build-apache/libs/libphp5.so $RPM_BUILD_ROOT%{_httpd_moddir} %if %{with_zts} # install the ZTS DSO install -m 755 build-zts/libs/libphp5.so $RPM_BUILD_ROOT%{_httpd_moddir}/libphp5-zts.so %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}/10-php.conf %if %{with_zts} cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_modconfdir}/10-php.conf %endif install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf %endif install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d %if %{with_zts} install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d %endif install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/session %if %{with_fpm} # PHP-FPM stuff # Log install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/log/php-fpm install -m 755 -d $RPM_BUILD_ROOT/run/php-fpm # Config install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d/www.conf mv $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf.default . # tmpfiles.d install -m 755 -d $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d install -m 644 php-fpm.tmpfiles $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/php-fpm.conf # install systemd unit files and scripts for handling server startup install -m 755 -d $RPM_BUILD_ROOT%{_unitdir} install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/ # LogRotate install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/php-fpm # Environment file install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/php-fpm %endif # Fix the link (cd $RPM_BUILD_ROOT%{_bindir}; ln -sfn phar.phar phar) # Generate files lists and stub .ini files for each subpackage for mod in pgsql odbc ldap snmp xmlrpc \ mysqlnd mysqlnd_mysql mysqlnd_mysqli pdo_mysqlnd \ mbstring gd dom xsl soap bcmath dba xmlreader xmlwriter \ pdo pdo_pgsql pdo_odbc pdo_sqlite json %{zipmod} \ sqlite3 \ enchant phar fileinfo intl \ pspell curl wddx \ posix sysvshm sysvsem sysvmsg recode \ %if %{with_libmysql} mysql mysqli pdo_mysql \ %endif ; do cat > $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${mod}.ini < $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/${mod}.ini < files.${mod} < files.xml # The mysql and mysqli modules are both packaged in php-mysql %if %{with_libmysql} cat files.mysqli >> files.mysql cat files.pdo_mysql >> files.mysql %endif # mysqlnd cat files.mysqlnd_mysql \ files.mysqlnd_mysqli \ files.pdo_mysqlnd \ >> files.mysqlnd # Split out the PDO modules cat files.pdo_pgsql >> files.pgsql cat files.pdo_odbc >> files.odbc # sysv* and posix in packaged in php-process cat 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 cat files.sqlite3 >> files.pdo # Package json, zip, curl, phar and fileinfo in -common. cat files.json files.curl files.phar files.fileinfo > files.common %if %{with_zip} cat files.zip >> files.common %endif # Install the macros file: install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm sed -e "s/@PHP_APIVER@/%{apiver}%{isasuffix}/" \ -e "s/@PHP_ZENDVER@/%{zendver}%{isasuffix}/" \ -e "s/@PHP_PDOVER@/%{pdover}%{isasuffix}/" \ -e "s/@PHP_VERSION@/%{version}/" \ %if ! %{with_zts} -e "/zts/d" \ %endif < %{SOURCE3} > macros.php install -m 644 -c macros.php \ $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.php # Remove unpackaged files rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \ $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/*.a \ $RPM_BUILD_ROOT%{_bindir}/{phptar} \ $RPM_BUILD_ROOT%{_datadir}/pear \ $RPM_BUILD_ROOT%{_libdir}/libphp5.la # Remove irrelevant docs rm -f README.{Zeus,QNX,CVS-RULES} %if %{with_fpm} %pre fpm # Add the "apache" user as we don't require httpd getent group apache >/dev/null || \ groupadd -g 48 -r apache getent passwd apache >/dev/null || \ useradd -r -u 48 -g apache -s /sbin/nologin \ -d %{_httpd_contentdir} -c "Apache" apache exit 0 %post fpm %if 0%{?systemd_post:1} %systemd_post php-fpm.service %else if [ $1 = 1 ]; then # Initial installation /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi %endif %preun fpm %if 0%{?systemd_preun:1} %systemd_preun php-fpm.service %else if [ $1 = 0 ]; then # Package removal, not upgrade /bin/systemctl --no-reload disable php-fpm.service >/dev/null 2>&1 || : /bin/systemctl stop php-fpm.service >/dev/null 2>&1 || : fi %endif %postun fpm %if 0%{?systemd_postun_with_restart:1} %systemd_postun_with_restart php-fpm.service %else /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ]; then # Package upgrade, not uninstall /bin/systemctl try-restart php-fpm.service >/dev/null 2>&1 || : fi %endif # Handle upgrading from SysV initscript to native systemd unit. # We can tell if a SysV version of php-fpm was previously installed by # checking to see if the initscript is present. %triggerun fpm -- php-fpm if [ -f /etc/rc.d/init.d/php-fpm ]; then # Save the current service runlevel info # User must manually run systemd-sysv-convert --apply php-fpm # to migrate them to systemd targets /usr/bin/systemd-sysv-convert --save php-fpm >/dev/null 2>&1 || : # Run these because the SysV package being removed won't do them /sbin/chkconfig --del php-fpm >/dev/null 2>&1 || : /bin/systemctl try-restart php-fpm.service >/dev/null 2>&1 || : fi %endif %post embedded -p /sbin/ldconfig %postun embedded -p /sbin/ldconfig %files %{_httpd_moddir}/libphp5.so %if %{with_zts} %{_httpd_moddir}/libphp5-zts.so %endif %attr(0770,root,apache) %dir %{_localstatedir}/lib/php/session %config(noreplace) %{_httpd_confdir}/php.conf %if "%{_httpd_modconfdir}" != "%{_httpd_confdir}" %config(noreplace) %{_httpd_modconfdir}/10-php.conf %endif %{_httpd_contentdir}/icons/php.gif %files common -f files.common %doc CODING_STANDARDS CREDITS EXTENSIONS LICENSE NEWS README* %doc Zend/ZEND_* TSRM_LICENSE regex_COPYRIGHT %doc libmagic_LICENSE %doc phar_LICENSE %doc php.ini-* %config(noreplace) %{_sysconfdir}/php.ini %dir %{_sysconfdir}/php.d %dir %{_libdir}/php %dir %{_libdir}/php/modules %if %{with_zts} %dir %{_sysconfdir}/php-zts.d %dir %{_libdir}/php-zts %dir %{_libdir}/php-zts/modules %endif %dir %{_localstatedir}/lib/php %dir %{_datadir}/php %files cli %{_bindir}/php %{_bindir}/php-cgi %{_bindir}/phar.phar %{_bindir}/phar # provides phpize here (not in -devel) for pecl command %{_bindir}/phpize %{_mandir}/man1/php.1* %{_mandir}/man1/php-cgi.1* %{_mandir}/man1/phar.1* %{_mandir}/man1/phar.phar.1* %{_mandir}/man1/phpize.1* %doc sapi/cgi/README* sapi/cli/README %if %{with_fpm} %files fpm %doc php-fpm.conf.default %doc fpm_LICENSE %config(noreplace) %{_sysconfdir}/php-fpm.conf %config(noreplace) %{_sysconfdir}/php-fpm.d/www.conf %config(noreplace) %{_sysconfdir}/logrotate.d/php-fpm %config(noreplace) %{_sysconfdir}/sysconfig/php-fpm %{_prefix}/lib/tmpfiles.d/php-fpm.conf %{_unitdir}/php-fpm.service %{_sbindir}/php-fpm %dir %{_sysconfdir}/php-fpm.d # log owned by apache for log %attr(770,apache,root) %dir %{_localstatedir}/log/php-fpm %dir /run/php-fpm %{_mandir}/man8/php-fpm.8* %dir %{_datadir}/fpm %{_datadir}/fpm/status.html %endif %files devel %{_bindir}/php-config %{_includedir}/php %{_libdir}/php/build %if %{with_zts} %{_bindir}/zts-php-config %{_includedir}/php-zts %{_bindir}/zts-phpize # usefull only to test other module during build %{_bindir}/zts-php %{_libdir}/php-zts/build %endif %{_mandir}/man1/php-config.1* %{_sysconfdir}/rpm/macros.php %files embedded %{_libdir}/libphp5.so %{_libdir}/libphp5-%{embed_version}.so %files pgsql -f files.pgsql %if %{with_libmysql} %files mysql -f files.mysql %endif %files odbc -f files.odbc %files ldap -f files.ldap %files snmp -f files.snmp %files xml -f files.xml %files xmlrpc -f files.xmlrpc %files mbstring -f files.mbstring %doc libmbfl_LICENSE %doc oniguruma_COPYING %doc ucgendat_LICENSE %files gd -f files.gd %doc libgd_README %doc libgd_COPYING %files soap -f files.soap %files bcmath -f files.bcmath %doc libbcmath_COPYING %files dba -f files.dba %files pdo -f files.pdo %files pspell -f files.pspell %files intl -f files.intl %files process -f files.process %files recode -f files.recode %files enchant -f files.enchant %files mysqlnd -f files.mysqlnd %changelog * Tue Oct 29 2019 Remi Collet - 5.4.16-48 - fix underflow in env_path_info in fpm_main.c CVE-2019-11043 * Wed Aug 21 2019 Remi Collet - 5.4.16-47 - fix stack-buffer-overflow while parsing HTTP response CVE-2018-7584 - fix out-of-bounds read in base64_decode_xmlrpc CVE-2019-9024 - fix reflected XSS in phar 404 page CVE-2018-5712 - fix reflected XSS in phar 403 and 404 error pages CVE-2018-10547 * Tue Jun 19 2018 Remi Collet - 5.4.16-46 - load openssl configuration file on startup #1408301 * Tue Jan 23 2018 Remi Collet - 5.4.16-45 - gd: fix buffer over-read into uninitialized memory CVE-2017-7890 * Thu Oct 12 2017 Remi Collet - 5.4.16-44 - fix php should provide php(httpd) #1215429 - fpm: backport PHP-FPM's clear_env option from 5.4.27 #1410010 default value is "yes", preserving previous behaviour - openssl: fix default_socket_timeout does not work with SSL #1378196 * Wed Oct 4 2017 Remi Collet - 5.4.16-43 - gd: fix DoS vulnerability in gdImageCreateFromGd2Ctx() CVE-2016-10167 - gd: Signed Integer Overflow gd_io.c CVE-2016-10168 * Fri Aug 5 2016 Remi Collet - 5.4.16-42 - bz2: fix improper error handling in bzread() CVE-2016-5399 * Mon Aug 1 2016 Remi Collet - 5.4.16-41 - gd: fix integer overflow in _gd2GetHeader() resulting in heap overflow CVE-2016-5766 - gd: fix integer overflow in gdImagePaletteToTrueColor() resulting in heap overflow CVE-2016-5767 - mbstring: fix double free in _php_mb_regex_ereg_replace_exec CVE-2016-5768 * Fri Jul 22 2016 Remi Collet - 5.4.16-40 - don't set environmental variable based on user supplied Proxy request header CVE-2016-5385 * Wed Jun 15 2016 Remi Collet - 5.4.16-39 - fix segmentation fault in header_register_callback #1344578 * Mon May 30 2016 Remi Collet - 5.4.16-38 - curl: add options to enable TLS #1291667 - mysqli: fix segfault in mysqli_stmt::bind_result() when link is closed #1096800 - fpm: fix incorrectly defined SCRIPT_NAME variable when using Apache #1138563 - core: fix segfault when a zend_extension is loaded twice #1289457 - openssl: change default_md algo from MD5 to SHA1 #1073388 - wddx: fix segfault in php_wddx_serialize_var #1131979 * Mon Apr 4 2016 Remi Collet - 5.4.16-37 - session: fix segfault in session with rfc1867 #1297179 * Wed Jun 10 2015 Remi Collet - 5.4.16-36 - fix more functions accept paths with NUL character #1213407 * Fri Jun 5 2015 Remi Collet - 5.4.16-35 - core: fix multipart/form-data request can use excessive amount of CPU usage CVE-2015-4024 - fix various functions accept paths with NUL character CVE-2015-4025, CVE-2015-4026, #1213407 - fileinfo: fix denial of service when processing a crafted file #1213442 - ftp: fix integer overflow leading to heap overflow when reading FTP file listing CVE-2015-4022 - phar: fix buffer over-read in metadata parsing CVE-2015-2783 - phar: invalid pointer free() in phar_tar_process_metadata() CVE-2015-3307 - phar: fix buffer overflow in phar_set_inode() CVE-2015-3329 - phar: fix memory corruption in phar_parse_tarfile caused by empty entry file name CVE-2015-4021 - soap: fix type confusion through unserialize #1222538 - apache2handler: fix pipelined request executed in deinitialized interpreter under httpd 2.4 CVE-2015-3330 * Thu Apr 16 2015 Remi Collet - 5.4.16-34 - fix memory corruption in fileinfo module on big endian machines #1082624 - fix segfault in pdo_odbc on x86_64 #1159892 - fix segfault in gmp allocator #1154760 * Fri Apr 10 2015 Remi Collet - 5.4.16-33 - core: use after free vulnerability in unserialize() CVE-2014-8142 and CVE-2015-0231 - core: fix use-after-free in unserialize CVE-2015-2787 - core: fix NUL byte injection in file name argument of move_uploaded_file() CVE-2015-2348 - date: use after free vulnerability in unserialize CVE-2015-0273 - enchant: fix heap buffer overflow in enchant_broker_request_dict CVE-2014-9705 - exif: free called on unitialized pointer CVE-2015-0232 - fileinfo: fix out of bounds read in mconvert CVE-2014-9652 - gd: fix buffer read overflow in gd_gif_in.c CVE-2014-9709 - phar: use after free in phar_object.c CVE-2015-2301 - soap: fix type confusion through unserialize * Thu Oct 23 2014 Jan Kaluza - 5.4.16-31 - fileinfo: fix out-of-bounds read in elf note headers. CVE-2014-3710 * Tue Oct 21 2014 Remi Collet - 5.4.16-29 - xmlrpc: fix out-of-bounds read flaw in mkgmtime() CVE-2014-3668 - core: fix integer overflow in unserialize() CVE-2014-3669 - exif: fix heap corruption issue in exif_thumbnail() CVE-2014-3670 * Fri Sep 12 2014 Remi Collet - 5.4.16-27 - gd: fix NULL pointer dereference in gdImageCreateFromXpm(). CVE-2014-2497 - gd: fix NUL byte injection in file names. CVE-2014-5120 - fileinfo: fix extensive backtracking in regular expression (incomplete fix for CVE-2013-7345). CVE-2014-3538 - fileinfo: fix mconvert incorrect handling of truncated pascal string size. CVE-2014-3478 - fileinfo: fix cdf_read_property_info (incomplete fix for CVE-2012-1571). CVE-2014-3587 - spl: fix use-after-free in ArrayIterator due to object change during sorting. CVE-2014-4698 - spl: fix use-after-free in SPL Iterators. CVE-2014-4670 - network: fix segfault in dns_get_record (incomplete fix for CVE-2014-4049). CVE-2014-3597 * Thu Aug 21 2014 Jan Kaluza - 5.4.16-25 - fix segfault after startup on aarch64 (#1107567) - compile php with -O3 on ppc64le (#1123499) * Fri Jun 13 2014 Remi Collet - 5.4.16-23 - fileinfo: cdf_unpack_summary_info() excessive looping DoS. CVE-2014-0237 - fileinfo: CDF property info parsing nelements infinite loop. CVE-2014-0238 - fileinfo: cdf_check_stream_offset insufficient boundary check. CVE-2014-3479 - fileinfo: cdf_count_chain insufficient boundary check CVE-2014-3480 - fileinfo: cdf_read_short_sector insufficient boundary check. CVE-2014-0207 - fileinfo: cdf_read_property_info insufficient boundary check. CVE-2014-3487 - fileinfo: fix extensive backtracking CVE-2013-7345 - core: type confusion issue in phpinfo(). CVE-2014-4721 - core: fix heap-based buffer overflow in DNS TXT record parsing. CVE-2014-4049 - core: unserialize() SPL ArrayObject / SPLObjectStorage type confusion flaw. CVE-2014-3515 * Fri Mar 7 2014 Remi Collet - 5.4.16-21 - fix out-of-bounds memory access in fileinfo CVE-2014-2270 * Fri Feb 21 2014 Remi Collet - 5.4.16-19 - fix memory leak introduce in patch for CVE-2014-1943 - fix heap-based buffer over-read in DateInterval CVE-2013-6712 * Wed Feb 19 2014 Remi Collet - 5.4.16-17 - fix infinite recursion in fileinfo CVE-2014-1943 * Fri Jan 24 2014 Daniel Mach - 5.4.16-15 - Mass rebuild 2014-01-24 * Wed Jan 15 2014 Honza Horak - 5.4.16-14 - Rebuild for mariadb-libs Related: #1045013 * Fri Jan 10 2014 Remi Collet - 5.4.16-13 - build with -O3 on ppc64 #1051073 * Thu Jan 9 2014 Remi Collet - 5.4.16-11 - use correct config.{guess,sub} for ppc64p7 #1048892 * Fri Dec 27 2013 Daniel Mach - 5.4.16-10 - Mass rebuild 2013-12-27 * Fri Dec 6 2013 Remi Collet - 5.4.16-9 - add security fix for CVE-2013-6420 * Mon Nov 4 2013 Remi Collet - 5.4.16-7 - fix for non x86 build #1023796 * Mon Aug 19 2013 Remi Collet - 5.4.16-5 - fix enchant package summary and description - add security fix for CVE-2013-4248 * Thu Jul 18 2013 Remi Collet - 5.4.16-4 - improve mod_php, pgsql and ldap description - add provides php(pdo-abi) for consistency with php(api) and php(zend-abi) - use %%__isa_bits instead of %%__isa in ABI suffix * Fri Jul 12 2013 Remi Collet - 5.4.16-3 - add security fix for CVE-2013-4113 - add missing ASL 1.0 license - rebuild for net-snmp * Tue Jul 2 2013 Remi Collet 5.4.16-2 - add missing man pages (phar, php-cgi) #948873 * Thu Jun 6 2013 Remi Collet 5.4.16-1 - update to 5.4.16 - switch systemd unit to Type=notify - patch for upstream Bug #64915 error_log ignored when daemonize=0 - patch for upstream Bug #64949 Buffer overflow in _pdo_pgsql_error - patch for upstream bug #64960 Segfault in gc_zval_possible_root - add version to "Obsoletes" - own /usr/share/fpm * Tue Apr 30 2013 Daniel Mach - 5.4.14-1.2 - Rebuild for cyrus-sasl * Thu Apr 11 2013 Remi Collet 5.4.14-1 - update to 5.4.14 - clean old deprecated options * Mon Apr 08 2013 Daniel Mach - 5.4.13-1.1 - Rebuild for icu * Thu Mar 14 2013 Remi Collet 5.4.13-1 - update to 5.4.13 - security fix for CVE-2013-1643 - Hardened build (links with -z now option) - Remove %%config from /etc/rpm/macros.php * Thu Feb 21 2013 Remi Collet 5.4.12-2 - make php-mysql package optional (still enabled) - make ZTS build optional (and disabled) * Wed Feb 20 2013 Remi Collet 5.4.12-1 - update to 5.4.12 - security fix for CVE-2013-1635 - enable tokyocabinet dba handler - upstream patch (5.4.13) to fix dval to lval conversion https://bugs.php.net/64142 - upstream patch (5.4.13) for 2 failed tests - fix buit-in web server on ppc64 (fdset usage) https://bugs.php.net/64128 * Wed Jan 16 2013 Remi Collet 5.4.11-1 - update to 5.4.11 - fix php.conf to allow MultiViews managed by php scripts * Wed Dec 19 2012 Remi Collet 5.4.10-1 - update to 5.4.10 - remove patches merged upstream * Tue Dec 11 2012 Remi Collet 5.4.9-3 - drop "Configure Command" from phpinfo output * Tue Dec 11 2012 Joe Orton - 5.4.9-2 - prevent php_config.h changes across (otherwise identical) rebuilds * Thu Nov 22 2012 Remi Collet 5.4.9-1 - update to 5.4.9 * Thu Nov 15 2012 Remi Collet 5.4.9-0.5.RC1 - switch back to upstream generated scanner/parser * Thu Nov 15 2012 Remi Collet 5.4.9-0.4.RC1 - use _httpd_contentdir macro and fix php.gif path * Wed Nov 14 2012 Remi Collet 5.4.9-0.3.RC1 - improve system libzip patch to use pkg-config * Wed Nov 14 2012 Remi Collet 5.4.9-0.2.RC1 - use _httpd_moddir macro * Wed Nov 14 2012 Remi Collet 5.4.9-0.1.RC1 - update to 5.4.9RC1 - improves php.conf (use FilesMatch + SetHandler) - improves filter (httpd module) - apply ldap_r patch on fedora >= 18 only * Fri Nov 9 2012 Remi Collet 5.4.8-6 - clarify Licenses - missing provides xmlreader and xmlwriter - modernize spec - change php embedded library soname version to 5.4 * Tue Nov 6 2012 Remi Collet 5.4.8-5 - fix _httpd_mmn macro definition * Mon Nov 5 2012 Remi Collet 5.4.8-4 - fix mysql_sock macro definition * Thu Oct 25 2012 Remi Collet 5.4.8-3 - fix installed headers * Tue Oct 23 2012 Joe Orton - 5.4.8-2 - use libldap_r for ldap extension * Thu Oct 18 2012 Remi Collet 5.4.8-1 - update to 5.4.8 - define both session.save_handler and session.save_path - fix possible segfault in libxml (#828526) - php-fpm: create apache user if needed - use SKIP_ONLINE_TEST during make test - php-devel requires pcre-devel and php-cli (instead of php) * Fri Oct 5 2012 Remi Collet 5.4.7-11 - provides php-phar - update systzdata patch to v10, timezone are case insensitive * Mon Oct 1 2012 Remi Collet 5.4.7-10 - fix typo in systemd macro * Mon Oct 1 2012 Remi Collet 5.4.7-9 - php-fpm: enable PrivateTmp - php-fpm: new systemd macros (#850268) - php-fpm: add upstream patch for startup issue (#846858) * Fri Sep 28 2012 Remi Collet 5.4.7-8 - systemd integration, https://bugs.php.net/63085 - no odbc call during timeout, https://bugs.php.net/63171 - check sqlite3_column_table_name, https://bugs.php.net/63149 * Mon Sep 24 2012 Remi Collet 5.4.7-7 - most failed tests explained (i386, x86_64) * Wed Sep 19 2012 Remi Collet 5.4.7-6 - fix for http://bugs.php.net/63126 (#783967) * Wed Sep 19 2012 Remi Collet 5.4.7-5 - patch to ensure we use latest libdb (not libdb4) * Wed Sep 19 2012 Remi Collet 5.4.7-4 - really fix rhel tests (use libzip and libdb) * Tue Sep 18 2012 Remi Collet 5.4.7-3 - fix test to enable zip extension on RHEL-7 * Mon Sep 17 2012 Remi Collet 5.4.7-2 - remove session.save_path from php.ini move it to apache and php-fpm configuration files * Fri Sep 14 2012 Remi Collet 5.4.7-1 - update to 5.4.7 http://www.php.net/releases/5_4_7.php - php-fpm: don't daemonize * Fri Aug 31 2012 Joe Orton - 5.4.6-2.1 - drop mcrypt, tidy, mssql, dblib, imap, interbase support * Mon Aug 20 2012 Remi Collet 5.4.6-2 - enable php-fpm on secondary arch (#849490) * Fri Aug 17 2012 Remi Collet 5.4.6-1 - update to 5.4.6 - update to v9 of systzdata patch - backport fix for new libxml * Fri Jul 20 2012 Remi Collet 5.4.5-1 - update to 5.4.5 * Mon Jul 02 2012 Remi Collet 5.4.4-4 - also provide php(language)%%{_isa} - define %%{php_version} * Mon Jul 02 2012 Remi Collet 5.4.4-3 - drop BR for libevent (#835671) - provide php(language) to allow version check * Thu Jun 21 2012 Remi Collet 5.4.4-2 - add missing provides (core, ereg, filter, standard) * Thu Jun 14 2012 Remi Collet 5.4.4-1 - update to 5.4.4 (CVE-2012-2143, CVE-2012-2386) - use /usr/lib/tmpfiles.d instead of /etc/tmpfiles.d - use /run/php-fpm instead of /var/run/php-fpm * Wed May 09 2012 Remi Collet 5.4.3-1 - update to 5.4.3 (CVE-2012-2311, CVE-2012-2329) * Thu May 03 2012 Remi Collet 5.4.2-1 - update to 5.4.2 (CVE-2012-1823) * Fri Apr 27 2012 Remi Collet 5.4.1-1 - update to 5.4.1 * Wed Apr 25 2012 Joe Orton - 5.4.0-6 - rebuild for new icu - switch (conditionally) to libdb-devel * Sat Mar 31 2012 Remi Collet 5.4.0-5 - fix Loadmodule with MPM event (use ZTS if not MPM worker) - split conf.d/php.conf + conf.modules.d/10-php.conf with httpd 2.4 * Thu Mar 29 2012 Joe Orton - 5.4.0-4 - rebuild for missing automatic provides (#807889) * Mon Mar 26 2012 Joe Orton - 5.4.0-3 - really use _httpd_mmn * Mon Mar 26 2012 Joe Orton - 5.4.0-2 - rebuild against httpd 2.4 - use _httpd_mmn, _httpd_apxs macros * Fri Mar 02 2012 Remi Collet 5.4.0-1 - update to PHP 5.4.0 finale * Sat Feb 18 2012 Remi Collet 5.4.0-0.4.RC8 - update to PHP 5.4.0RC8 * Sat Feb 04 2012 Remi Collet 5.4.0-0.3.RC7 - update to PHP 5.4.0RC7 - provides env file for php-fpm (#784770) - add patch to use system libzip (thanks to spot) - don't provide INSTALL file * Wed Jan 25 2012 Remi Collet 5.4.0-0.2.RC6 - all binaries in /usr/bin with zts prefix * Wed Jan 18 2012 Remi Collet 5.4.0-0.1.RC6 - update to PHP 5.4.0RC6 https://fedoraproject.org/wiki/Features/Php54 * Sun Jan 08 2012 Remi Collet 5.3.8-4.4 - fix systemd unit * Mon Dec 12 2011 Remi Collet 5.3.8-4.3 - switch to systemd * Tue Dec 06 2011 Adam Jackson - 5.3.8-4.2 - Rebuild for new libpng * Wed Oct 26 2011 Marcela Mašláňová - 5.3.8-3.2 - rebuild with new gmp without compat lib * Wed Oct 12 2011 Peter Schiffer - 5.3.8-3.1 - rebuild with new gmp * Wed Sep 28 2011 Remi Collet 5.3.8-3 - revert is_a() to php <= 5.3.6 behavior (from upstream) with new option (allow_string) for new behavior * Tue Sep 13 2011 Remi Collet 5.3.8-2 - add mysqlnd sub-package - drop patch4, use --libdir to use /usr/lib*/php/build - add patch to redirect mysql.sock (in mysqlnd) * Tue Aug 23 2011 Remi Collet 5.3.8-1 - update to 5.3.8 http://www.php.net/ChangeLog-5.php#5.3.8 * Thu Aug 18 2011 Remi Collet 5.3.7-1 - update to 5.3.7 http://www.php.net/ChangeLog-5.php#5.3.7 - merge php-zts into php (#698084) * Tue Jul 12 2011 Joe Orton - 5.3.6-4 - rebuild for net-snmp SONAME bump * Mon Apr 4 2011 Remi Collet 5.3.6-3 - enable mhash extension (emulated by hash extension) * Wed Mar 23 2011 Remi Collet 5.3.6-2 - rebuild for new MySQL client library * Thu Mar 17 2011 Remi Collet 5.3.6-1 - update to 5.3.6 http://www.php.net/ChangeLog-5.php#5.3.6 - fix php-pdo arch specific requires * Tue Mar 15 2011 Joe Orton - 5.3.5-6 - disable zip extension per "No Bundled Libraries" policy (#551513) * Mon Mar 07 2011 Caolán McNamara 5.3.5-5 - rebuild for icu 4.6 * Mon Feb 28 2011 Remi Collet 5.3.5-4 - fix systemd-units requires * Thu Feb 24 2011 Remi Collet 5.3.5-3 - add tmpfiles.d configuration for php-fpm - add Arch specific requires/provides * Wed Feb 09 2011 Fedora Release Engineering - 5.3.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Fri Jan 07 2011 Remi Collet 5.3.5-1 - update to 5.3.5 http://www.php.net/ChangeLog-5.php#5.3.5 - clean duplicate configure options * Tue Dec 28 2010 Remi Collet 5.3.4-2 - rebuild against MySQL 5.5.8 - remove all RPM_SOURCE_DIR * Sun Dec 12 2010 Remi Collet 5.3.4-1.1 - security patch from upstream for #660517 * Sat Dec 11 2010 Remi Collet 5.3.4-1 - update to 5.3.4 http://www.php.net/ChangeLog-5.php#5.3.4 - move phpize to php-cli (see #657812) * Wed Dec 1 2010 Remi Collet 5.3.3-5 - ghost /var/run/php-fpm (see #656660) - add filter_setup to not provides extensions as .so * Mon Nov 1 2010 Joe Orton - 5.3.3-4 - use mysql_config in libdir directly to avoid biarch build failures * Fri Oct 29 2010 Joe Orton - 5.3.3-3 - rebuild for new net-snmp * Sun Oct 10 2010 Remi Collet 5.3.3-2 - add php-fpm sub-package * Thu Jul 22 2010 Remi Collet 5.3.3-1 - PHP 5.3.3 released * Fri Apr 30 2010 Remi Collet 5.3.2-3 - garbage collector upstream patches (#580236) * Fri Apr 02 2010 Caolán McNamara 5.3.2-2 - rebuild for icu 4.4 * Sat Mar 06 2010 Remi Collet 5.3.2-1 - PHP 5.3.2 Released! - remove mime_magic option (now provided by fileinfo, by emu) - add patch for http://bugs.php.net/50578 - remove patch for libedit (upstream) - add runselftest option to allow build without test suite * Fri Nov 27 2009 Joe Orton - 5.3.1-3 - update to v7 of systzdata patch * Wed Nov 25 2009 Joe Orton - 5.3.1-2 - fix build with autoconf 2.6x * Fri Nov 20 2009 Remi Collet 5.3.1-1 - update to 5.3.1 - remove openssl patch (merged upstream) - add provides for php-pecl-json - add prod/devel php.ini in doc * Tue Nov 17 2009 Tom "spot" Callaway - 5.3.0-7 - use libedit instead of readline to resolve licensing issues * Tue Aug 25 2009 Tomas Mraz - 5.3.0-6 - rebuilt with new openssl * Sun Jul 26 2009 Fedora Release Engineering - 5.3.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Jul 16 2009 Joe Orton 5.3.0-4 - rediff systzdata patch * Thu Jul 16 2009 Joe Orton 5.3.0-3 - update to v6 of systzdata patch; various fixes * Tue Jul 14 2009 Joe Orton 5.3.0-2 - update to v5 of systzdata patch; parses zone.tab and extracts timezone->{country-code,long/lat,comment} mapping table * Sun Jul 12 2009 Remi Collet 5.3.0-1 - update to 5.3.0 - remove ncurses, dbase, mhash extensions - add enchant, sqlite3, intl, phar, fileinfo extensions - raise sqlite version to 3.6.0 (for sqlite3, build with --enable-load-extension) - sync with upstream "production" php.ini * Sun Jun 21 2009 Remi Collet 5.2.10-1 - update to 5.2.10 - add interbase sub-package * Sat Feb 28 2009 Remi Collet - 5.2.9-1 - update to 5.2.9 * Thu Feb 26 2009 Fedora Release Engineering - 5.2.8-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Feb 5 2009 Joe Orton 5.2.8-9 - add recode support, -recode subpackage (#106755) - add -zts subpackage with ZTS-enabled build of httpd SAPI - adjust php.conf to use -zts SAPI build for worker MPM * Wed Feb 4 2009 Joe Orton 5.2.8-8 - fix patch fuzz, renumber patches * Wed Feb 4 2009 Joe Orton 5.2.8-7 - drop obsolete configure args - drop -odbc patch (#483690) * Mon Jan 26 2009 Joe Orton 5.2.8-5 - split out sysvshm, sysvsem, sysvmsg, posix into php-process * Sun Jan 25 2009 Joe Orton 5.2.8-4 - move wddx to php-xml, build curl shared in -common - remove BR for expat-devel, bogus configure option * Fri Jan 23 2009 Joe Orton 5.2.8-3 - rebuild for new MySQL * Sat Dec 13 2008 Remi Collet 5.2.8-2 - libtool 2 workaround for phpize (#476004) - add missing php_embed.h (#457777) * Tue Dec 09 2008 Remi Collet 5.2.8-1 - update to 5.2.8 * Sat Dec 06 2008 Remi Collet 5.2.7-1.1 - libtool 2 workaround * Fri Dec 05 2008 Remi Collet 5.2.7-1 - update to 5.2.7 - enable pdo_dblib driver in php-mssql * Mon Nov 24 2008 Joe Orton 5.2.6-7 - tweak Summary, thanks to Richard Hughes * Tue Nov 4 2008 Joe Orton 5.2.6-6 - move gd_README to php-gd - update to r4 of systzdata patch; introduces a default timezone name of "System/Localtime", which uses /etc/localtime (#469532) * Sat Sep 13 2008 Remi Collet 5.2.6-5 - enable XPM support in php-gd - Fix BR for php-gd * Sun Jul 20 2008 Remi Collet 5.2.6-4 - enable T1lib support in php-gd * Mon Jul 14 2008 Joe Orton 5.2.6-3 - update to 5.2.6 - sync default php.ini with upstream - drop extension_dir from default php.ini, rely on hard-coded default, to make php-common multilib-safe (#455091) - update to r3 of systzdata patch * Thu Apr 24 2008 Joe Orton 5.2.5-7 - split pspell extension out into php-spell (#443857) * Tue Feb 19 2008 Fedora Release Engineering - 5.2.5-6 - Autorebuild for GCC 4.3 * Fri Jan 11 2008 Joe Orton 5.2.5-5 - ext/date: use system timezone database * Fri Dec 28 2007 Joe Orton 5.2.5-4 - rebuild for libc-client bump * Wed Dec 05 2007 Release Engineering - 5.2.5-3 - Rebuild for openssl bump * Wed Dec 5 2007 Joe Orton 5.2.5-2 - update to 5.2.5 * Mon Oct 15 2007 Joe Orton 5.2.4-3 - correct pcre BR version (#333021) - restore metaphone fix (#205714) - add READMEs to php-cli * Sun Sep 16 2007 Joe Orton 5.2.4-2 - update to 5.2.4 * Sun Sep 2 2007 Joe Orton 5.2.3-9 - rebuild for fixed APR * Tue Aug 28 2007 Joe Orton 5.2.3-8 - add ldconfig post/postun for -embedded (Hans de Goede) * Fri Aug 10 2007 Hans de Goede 5.2.3-7 - add php-embedded sub-package * Fri Aug 10 2007 Joe Orton 5.2.3-6 - fix build with new glibc - fix License * Mon Jul 16 2007 Joe Orton 5.2.3-5 - define php_extdir in macros.php * Mon Jul 2 2007 Joe Orton 5.2.3-4 - obsolete php-dbase * Tue Jun 19 2007 Joe Orton 5.2.3-3 - add mcrypt, mhash, tidy, mssql subpackages (Dmitry Butskoy) - enable dbase extension and package in -common * Fri Jun 8 2007 Joe Orton 5.2.3-2 - update to 5.2.3 (thanks to Jeff Sheltren) * Wed May 9 2007 Joe Orton 5.2.2-4 - fix php-pdo *_arg_force_ref global symbol abuse (#216125) * Tue May 8 2007 Joe Orton 5.2.2-3 - rebuild against uw-imap-devel * Fri May 4 2007 Joe Orton 5.2.2-2 - update to 5.2.2 - synch changes from upstream recommended php.ini * Thu Mar 29 2007 Joe Orton 5.2.1-5 - enable SASL support in LDAP extension (#205772) * Wed Mar 21 2007 Joe Orton 5.2.1-4 - drop mime_magic extension (deprecated by php-pecl-Fileinfo) * Mon Feb 19 2007 Joe Orton 5.2.1-3 - fix regression in str_{i,}replace (from upstream) * Thu Feb 15 2007 Joe Orton 5.2.1-2 - update to 5.2.1 - add Requires(pre) for httpd - trim %%changelog to versions >= 5.0.0 * Thu Feb 8 2007 Joe Orton 5.2.0-10 - bump default memory_limit to 32M (#220821) - mark config files noreplace again (#174251) - drop trailing dots from Summary fields - use standard BuildRoot - drop libtool15 patch (#226294) * Tue Jan 30 2007 Joe Orton 5.2.0-9 - add php(api), php(zend-abi) provides (#221302) - package /usr/share/php and append to default include_path (#225434) * Tue Dec 5 2006 Joe Orton 5.2.0-8 - fix filter.h installation path - fix php-zend-abi version (Remi Collet, #212804) * Tue Nov 28 2006 Joe Orton 5.2.0-7 - rebuild again * Tue Nov 28 2006 Joe Orton 5.2.0-6 - rebuild for net-snmp soname bump * Mon Nov 27 2006 Joe Orton 5.2.0-5 - build json and zip shared, in -common (Remi Collet, #215966) - obsolete php-json and php-pecl-zip - build readline extension into /usr/bin/php* (#210585) - change module subpackages to require php-common not php (#177821) * Wed Nov 15 2006 Joe Orton 5.2.0-4 - provide php-zend-abi (#212804) - add /etc/rpm/macros.php exporting interface versions - synch with upstream recommended php.ini * Wed Nov 15 2006 Joe Orton 5.2.0-3 - update to 5.2.0 (#213837) - php-xml provides php-domxml (#215656) - fix php-pdo-abi provide (#214281) * Tue Oct 31 2006 Joseph Orton 5.1.6-4 - rebuild for curl soname bump - add build fix for curl 7.16 API * Wed Oct 4 2006 Joe Orton 5.1.6-3 - from upstream: add safety checks against integer overflow in _ecalloc * Tue Aug 29 2006 Joe Orton 5.1.6-2 - update to 5.1.6 (security fixes) - bump default memory_limit to 16M (#196802) * Wed Jul 12 2006 Jesse Keating - 5.1.4-8.1 - rebuild * Fri Jun 9 2006 Joe Orton 5.1.4-8 - Provide php-posix (#194583) - only provide php-pcntl from -cli subpackage - add missing defattr's (thanks to Matthias Saou) * Fri Jun 9 2006 Joe Orton 5.1.4-7 - move Obsoletes for php-openssl to -common (#194501) - Provide: php-cgi from -cli subpackage * Fri Jun 2 2006 Joe Orton 5.1.4-6 - split out php-cli, php-common subpackages (#177821) - add php-pdo-abi version export (#193202) * Wed May 24 2006 Radek Vokal 5.1.4-5.1 - rebuilt for new libnetsnmp * Thu May 18 2006 Joe Orton 5.1.4-5 - provide mod_php (#187891) - provide php-cli (#192196) - use correct LDAP fix (#181518) - define _GNU_SOURCE in php_config.h and leave it defined - drop (circular) dependency on php-pear * Mon May 8 2006 Joe Orton 5.1.4-3 - update to 5.1.4 * Wed May 3 2006 Joe Orton 5.1.3-3 - update to 5.1.3 * Tue Feb 28 2006 Joe Orton 5.1.2-5 - provide php-api (#183227) - add provides for all builtin modules (Tim Jackson, #173804) - own %%{_libdir}/php/pear for PEAR packages (per #176733) - add obsoletes to allow upgrade from FE4 PDO packages (#181863) * Fri Feb 10 2006 Jesse Keating - 5.1.2-4.3 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating - 5.1.2-4.1 - rebuilt for new gcc4.1 snapshot and glibc changes * Tue Jan 31 2006 Joe Orton 5.1.2-4 - rebuild for new libc-client soname * Mon Jan 16 2006 Joe Orton 5.1.2-3 - only build xmlreader and xmlwriter shared (#177810) * Fri Jan 13 2006 Joe Orton 5.1.2-2 - update to 5.1.2 * Thu Jan 5 2006 Joe Orton 5.1.1-8 - rebuild again * Mon Jan 2 2006 Joe Orton 5.1.1-7 - rebuild for new net-snmp * Mon Dec 12 2005 Joe Orton 5.1.1-6 - enable short_open_tag in default php.ini again (#175381) * Fri Dec 09 2005 Jesse Keating - rebuilt * Thu Dec 8 2005 Joe Orton 5.1.1-5 - require net-snmp for php-snmp (#174800) * Sun Dec 4 2005 Joe Orton 5.1.1-4 - add /usr/share/pear back to hard-coded include_path (#174885) * Fri Dec 2 2005 Joe Orton 5.1.1-3 - rebuild for httpd 2.2 * Mon Nov 28 2005 Joe Orton 5.1.1-2 - update to 5.1.1 - remove pear subpackage - enable pdo extensions (php-pdo subpackage) - remove non-standard conditional module builds - enable xmlreader extension * Thu Nov 10 2005 Tomas Mraz 5.0.5-6 - rebuilt against new openssl * Mon Nov 7 2005 Joe Orton 5.0.5-5 - pear: update to XML_RPC 1.4.4, XML_Parser 1.2.7, Mail 1.1.9 (#172528) * Tue Nov 1 2005 Joe Orton 5.0.5-4 - rebuild for new libnetsnmp * Wed Sep 14 2005 Joe Orton 5.0.5-3 - update to 5.0.5 - add fix for upstream #34435 - devel: require autoconf, automake (#159283) - pear: update to HTTP-1.3.6, Mail-1.1.8, Net_SMTP-1.2.7, XML_RPC-1.4.1 - fix imagettftext et al (upstream, #161001) * Thu Jun 16 2005 Joe Orton 5.0.4-11 - ldap: restore ldap_start_tls() function * Fri May 6 2005 Joe Orton 5.0.4-10 - disable RPATHs in shared extensions (#156974) * Tue May 3 2005 Joe Orton 5.0.4-9 - build simplexml_import_dom even with shared dom (#156434) - prevent truncation of copied files to ~2Mb (#155916) - install /usr/bin/php from CLI build alongside CGI - enable sysvmsg extension (#142988) * Mon Apr 25 2005 Joe Orton 5.0.4-8 - prevent build of builtin dba as well as shared extension * Wed Apr 13 2005 Joe Orton 5.0.4-7 - split out dba and bcmath extensions into subpackages - BuildRequire gcc-c++ to avoid AC_PROG_CXX{,CPP} failure (#155221) - pear: update to DB-1.7.6 - enable FastCGI support in /usr/bin/php-cgi (#149596) * Wed Apr 13 2005 Joe Orton 5.0.4-6 - build /usr/bin/php with the CLI SAPI, and add /usr/bin/php-cgi, built with the CGI SAPI (thanks to Edward Rudd, #137704) - add php(1) man page for CLI - fix more test cases to use -n when invoking php * Wed Apr 13 2005 Joe Orton 5.0.4-5 - rebuild for new libpq soname * Tue Apr 12 2005 Joe Orton 5.0.4-4 - bundle from PEAR: HTTP, Mail, XML_Parser, Net_Socket, Net_SMTP - snmp: disable MSHUTDOWN function to prevent error_log noise (#153988) - mysqli: add fix for crash on x86_64 (Georg Richter, upstream #32282) * Mon Apr 11 2005 Joe Orton 5.0.4-3 - build shared objects as PIC (#154195) * Mon Apr 4 2005 Joe Orton 5.0.4-2 - fix PEAR installation and bundle PEAR DB-1.7.5 package * Fri Apr 1 2005 Joe Orton 5.0.4-1 - update to 5.0.4 (#153068) - add .phps AddType to php.conf (#152973) - better gcc4 fix for libxmlrpc * Wed Mar 30 2005 Joe Orton 5.0.3-5 - BuildRequire mysql-devel >= 4.1 - don't mark php.ini as noreplace to make upgrades work (#152171) - fix subpackage descriptions (#152628) - fix memset(,,0) in Zend (thanks to Dave Jones) - fix various compiler warnings in Zend * Thu Mar 24 2005 Joe Orton 5.0.3-4 - package mysqli extension in php-mysql - really enable pcntl (#142903) - don't build with --enable-safe-mode (#148969) - use "Instant Client" libraries for oci8 module (Kai Bolay, #149873) * Fri Feb 18 2005 Joe Orton 5.0.3-3 - fix build with GCC 4 * Wed Feb 9 2005 Joe Orton 5.0.3-2 - install the ext/gd headers (#145891) - enable pcntl extension in /usr/bin/php (#142903) - add libmbfl array arithmetic fix (dcb314@hotmail.com, #143795) - add BuildRequire for recent pcre-devel (#147448) * Wed Jan 12 2005 Joe Orton 5.0.3-1 - update to 5.0.3 (thanks to Robert Scheck et al, #143101) - enable xsl extension (#142174) - package both the xsl and dom extensions in php-xml - enable soap extension, shared (php-soap package) (#142901) - add patches from upstream 5.0 branch: * Zend_strtod.c compile fixes * correct php_sprintf return value usage * Mon Nov 22 2004 Joe Orton 5.0.2-8 - update for db4-4.3 (Robert Scheck, #140167) - build against mysql-devel - run tests in %%check * Wed Nov 10 2004 Joe Orton 5.0.2-7 - truncate changelog at 4.3.1-1 - merge from 4.3.x package: - enable mime_magic extension and Require: file (#130276) * Mon Nov 8 2004 Joe Orton 5.0.2-6 - fix dom/sqlite enable/without confusion * Mon Nov 8 2004 Joe Orton 5.0.2-5 - fix phpize installation for lib64 platforms - add fix for segfault in variable parsing introduced in 5.0.2 * Mon Nov 8 2004 Joe Orton 5.0.2-4 - update to 5.0.2 (#127980) - build against mysqlclient10-devel - use new RTLD_DEEPBIND to load extension modules - drop explicit requirement for elfutils-devel - use AddHandler in default conf.d/php.conf (#135664) - "fix" round() fudging for recent gcc on x86 - disable sqlite pending audit of warnings and subpackage split * Fri Sep 17 2004 Joe Orton 5.0.1-4 - don't build dom extension into 2.0 SAPI * Fri Sep 17 2004 Joe Orton 5.0.1-3 - ExclusiveArch: x86 ppc x86_64 for the moment * Fri Sep 17 2004 Joe Orton 5.0.1-2 - fix default extension_dir and conf.d/php.conf * Thu Sep 9 2004 Joe Orton 5.0.1-1 - update to 5.0.1 - only build shared modules once - put dom extension in php-dom subpackage again - move extension modules into %%{_libdir}/php/modules - don't use --with-regex=system, it's ignored for the apache* SAPIs * Wed Aug 11 2004 Tom Callaway - Merge in some spec file changes from Jeff Stern (jastern@uci.edu) * Mon Aug 09 2004 Tom Callaway - bump to 5.0.0 - add patch to prevent clobbering struct re_registers from regex.h - remove domxml references, replaced with dom now built-in - fix php.ini to refer to php5 not php4