diff options
Diffstat (limited to 'php/php.spec')
-rw-r--r-- | php/php.spec | 1749 |
1 files changed, 0 insertions, 1749 deletions
diff --git a/php/php.spec b/php/php.spec deleted file mode 100644 index 6a0106f..0000000 --- a/php/php.spec +++ /dev/null @@ -1,1749 +0,0 @@ -%if 0%{?scl:1} -%scl_package php -%else -%global pkg_name %{name} -%global _root_sysconfdir %{_sysconfdir} -%global _root_bindir %{_bindir} -%global _root_sbindir %{_sbindir} -%global _root_includedir %{_includedir} -%global _root_libdir %{_libdir} -%global _root_prefix %{_prefix} -%global _root_initddir %{_initddir} -%endif - -# API/ABI check -%global apiver 20131106 -%global zendver 20131226 -%global pdover 20080721 -# Extension version -%global opcachever 7.0.4-dev -%global oci8ver 2.0.9 - -# Use for first build of PHP (before pecl/zip and pecl/jsonc) -%global php_bootstrap 0 - -# Adds -z now to the linker flags -%global _hardened_build 1 - -# Ugly hack. Harcoded values to avoid relocation. -%global _httpd_mmn %(cat %{_root_includedir}/httpd/.mmn 2>/dev/null || echo 0) -%global _httpd_confdir %{_root_sysconfdir}/httpd/conf.d -%global _httpd_moddir %{_libdir}/httpd/modules -%global _root_httpd_moddir %{_root_libdir}/httpd/modules -%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 -# httpd 2.4 values -%global _httpd_apxs %{_root_bindir}/apxs -%global _httpd_modconfdir %{_root_sysconfdir}/httpd/conf.modules.d -%global _httpd_contentdir /usr/share/httpd -%else -# httpd 2.2 values -%global _httpd_apxs %{_root_sbindir}/apxs -%global _httpd_modconfdir %{_root_sysconfdir}/httpd/conf.d -%global _httpd_contentdir /var/www -%endif - -%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_root_sysconfdir}/rpm; echo $d) - -%global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock) - -%global oraclever 12.1 - -# Build for LiteSpeed Web Server (LSAPI) -%global with_lsws 1 - -# Regression tests take a long time, you can skip 'em with this -%if %{php_bootstrap} -%global runselftest 0 -%else -%{!?runselftest: %global runselftest 1} -%endif - -# Use the arch-specific mysql_config binary to avoid mismatch with the -# arch detection heuristic used by bindir/mysql_config. -%global mysql_config %{_root_libdir}/mysql/mysql_config - -# Optional components; pass "--with mssql" etc to rpmbuild. -%global with_oci8 %{?_with_oci8:1}%{!?_with_oci8:0} - -%global with_imap 1 -%global with_interbase 1 -%global with_mcrypt 1 -%global with_mssql 1 -%global with_tidy 1 -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 -%global with_sqlite3 1 -%else -%global with_sqlite3 0 -%endif -%global with_enchant 1 -%global with_recode 1 -%global with_t1lib 1 -%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 -%global with_libpcre 1 -%else -%global with_libpcre 0 -%endif - -%if 0%{?__isa_bits:1} -%global isasuffix -%{__isa_bits} -%else -%global isasuffix %nil -%endif - -%if 0%{?fedora} < 12 && 0%{?rhel} < 6 -%global with_dtrace 0 -%else -%global with_dtrace 1 -%endif - -# build with system libgd (gd-last in remi repo) -%global with_libgd 1 - -%if 0%{?fedora} < 17 && 0%{?rhel} < 6 -%global with_vpx 0 -%else -%global with_vpx 1 -%endif - -# systemd to manage the service -%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 -%global with_systemd 1 -%else -%global with_systemd 0 -%endif -# systemd with notify mode -%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7 -%global with_systemdfull 1 -%else -%global with_systemdfull 0 -%endif -# systemd with additional service config -%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7 -%global with_systemdmax 1 -%else -%global with_systemdmax 0 -%endif -# httpd 2.4.10 with httpd-filesystem and sethandler support -%if 0%{?fedora} >= 21 -%global with_httpd2410 1 -%else -%global with_httpd2410 0 -%endif - -%global with_zip 0 - -%if 0%{?fedora} < 18 && 0%{?rhel} < 7 -%global db_devel db4-devel -%else -%global db_devel libdb-devel -%endif - -Summary: PHP scripting language for creating dynamic web sites -Name: %{?scl_prefix}php -Version: 5.6.0 -Release: 1%{?dist}.1 -# 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: php-%{version}%{?rcver}-strip.tar.xz -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.conf2 -Source11: php-fpm.init -Source12: strip.sh -# Configuration files for some extensions -Source50: opcache.ini -Source51: opcache-default.blacklist - -# Build fixes -Patch5: php-5.2.0-includedir.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 - -# Functional changes -Patch40: php-5.4.0-dlopen.patch -Patch42: php-5.3.1-systzdata-v10.patch -# See http://bugs.php.net/53436 -Patch43: php-5.4.0-phpize.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 - -# RC Patch -Patch91: php-5.3.7-oci8conf.patch - -# Upstream fixes (100+) - -# Security fixes (200+) - -# Fixes for tests (300+) -# Revert changes for pcre < 8.34 -Patch301: php-5.6.0-oldpcre.patch -# see https://bugzilla.redhat.com/971416 -Patch302: php-5.6.0-noNO.patch - - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -BuildRequires: bzip2-devel, curl-devel >= 7.9, %{db_devel} -BuildRequires: httpd-devel >= 2.0.46-1, pam-devel -%if %{with_httpd2410} -# to ensure we are using httpd with filesystem feature (see #1081453) -BuildRequires: httpd-filesystem -%endif -BuildRequires: libstdc++-devel, openssl-devel -%if %{with_sqlite3} -# For SQLite3 extension -BuildRequires: sqlite-devel >= 3.6.0 -%else -# Enough for pdo_sqlite -BuildRequires: sqlite-devel >= 3.0.0 -%endif -BuildRequires: zlib-devel, smtpdaemon, libedit-devel -%if %{with_libpcre} -BuildRequires: pcre-devel >= 8.20 -%endif -BuildRequires: bzip2, perl, libtool >= 1.4.3, gcc-c++ -BuildRequires: libtool-ltdl-devel -%if %{with_dtrace} -BuildRequires: systemtap-sdt-devel -%endif -Requires: httpd-mmn = %{_httpd_mmn} -Provides: %{?scl_prefix}mod_php = %{version}-%{release} -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -# For backwards-compatibility, require php-cli for the time being: -Requires: %{?scl_prefix}php-cli%{?_isa} = %{version}-%{release} -# To ensure correct /var/lib/php/session ownership: -%if %{with_httpd2410} -Requires(pre): httpd-filesystem -%else -Requires(pre): httpd -%endif - - -%if 0%{?fedora} < 20 && 0%{?rhel} < 7 -# 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 %{_httpd_moddir}/.*\.so$} -%{?filter_setup} -%endif - - -%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. - -This package contains the module (often referred to as mod_php) -which adds support for the PHP language to system Apache HTTP Server. - - -%package cli -Group: Development/Languages -Summary: Command-line interface for PHP -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php-cgi = %{version}-%{release}, %{?scl_prefix}php-cgi%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php-pcntl, %{?scl_prefix}php-pcntl%{?_isa} -Provides: %{?scl_prefix}php-readline, %{?scl_prefix}php-readline%{?_isa} - -%description cli -The %{?scl_prefix}php-cli package contains the command-line interface -executing PHP scripts, /usr/bin/php, and the CGI interface. - - -%package dbg -Group: Development/Languages -Summary: The interactive PHP debugger -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} - -%description dbg -The %{?scl_prefix}php-dbg package contains the interactive PHP debugger. - - -%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(pre): %{_root_sbindir}/useradd -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -%if %{with_systemdfull} -BuildRequires: systemd-devel -%endif -%if %{with_systemd} -BuildRequires: systemd-units -Requires: systemd-units -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 -%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 -# For php.conf in /etc/httpd/conf.d -# and version 2.4.10 for proxy support in SetHandler -Requires: httpd-filesystem >= 2.4.10 -%endif - -%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. - -%if %{with_lsws} -%package litespeed -Summary: LiteSpeed Web Server PHP support -Group: Development/Languages -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} - -%description litespeed -The %{?scl_prefix}php-litespeed package provides the %{_bindir}/lsphp command -used by the LiteSpeed Web Server (LSAPI enabled PHP). -%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: %{?scl_prefix}php(api) = %{apiver}%{isasuffix} -Provides: %{?scl_prefix}php(zend-abi) = %{zendver}%{isasuffix} -Provides: %{?scl_prefix}php(language) = %{version} -Provides: %{?scl_prefix}php(language)%{?_isa} = %{version} -# Provides for all builtin/shared modules: -Provides: %{?scl_prefix}php-bz2, %{?scl_prefix}php-bz2%{?_isa} -Provides: %{?scl_prefix}php-calendar, %{?scl_prefix}php-calendar%{?_isa} -Provides: %{?scl_prefix}php-core = %{version}, %{?scl_prefix}php-core%{?_isa} = %{version} -Provides: %{?scl_prefix}php-ctype, %{?scl_prefix}php-ctype%{?_isa} -Provides: %{?scl_prefix}php-curl, %{?scl_prefix}php-curl%{?_isa} -Provides: %{?scl_prefix}php-date, %{?scl_prefix}php-date%{?_isa} -Provides: %{?scl_prefix}php-ereg, %{?scl_prefix}php-ereg%{?_isa} -Provides: %{?scl_prefix}php-exif, %{?scl_prefix}php-exif%{?_isa} -Provides: %{?scl_prefix}php-fileinfo, %{?scl_prefix}php-fileinfo%{?_isa} -Provides: %{?scl_prefix}php-filter, %{?scl_prefix}php-filter%{?_isa} -Provides: %{?scl_prefix}php-ftp, %{?scl_prefix}php-ftp%{?_isa} -Provides: %{?scl_prefix}php-gettext, %{?scl_prefix}php-gettext%{?_isa} -Provides: %{?scl_prefix}php-hash, %{?scl_prefix}php-hash%{?_isa} -Provides: %{?scl_prefix}php-mhash = %{version}, %{?scl_prefix}php-mhash%{?_isa} = %{version} -Provides: %{?scl_prefix}php-iconv, %{?scl_prefix}php-iconv%{?_isa} -Provides: %{?scl_prefix}php-libxml, %{?scl_prefix}php-libxml%{?_isa} -Provides: %{?scl_prefix}php-openssl, %{?scl_prefix}php-openssl%{?_isa} -Provides: %{?scl_prefix}php-phar, %{?scl_prefix}php-phar%{?_isa} -Provides: %{?scl_prefix}php-pcre, %{?scl_prefix}php-pcre%{?_isa} -Provides: %{?scl_prefix}php-reflection, %{?scl_prefix}php-reflection%{?_isa} -Provides: %{?scl_prefix}php-session, %{?scl_prefix}php-session%{?_isa} -Provides: %{?scl_prefix}php-sockets, %{?scl_prefix}php-sockets%{?_isa} -Provides: %{?scl_prefix}php-spl, %{?scl_prefix}php-spl%{?_isa} -Provides: %{?scl_prefix}php-standard = %{version}, %{?scl_prefix}php-standard%{?_isa} = %{version} -Provides: %{?scl_prefix}php-tokenizer, %{?scl_prefix}php-tokenizer%{?_isa} -%if ! %{php_bootstrap} -Requires: %{?scl_prefix}php-pecl-jsonc%{?_isa} -%endif -%if %{with_zip} -Provides: %{?scl_prefix}php-zip, %{?scl_prefix}php-zip%{?_isa} -%else -%if ! %{php_bootstrap} -Requires: %{?scl_prefix}php-pecl-zip%{?_isa} -%endif -%endif -Provides: %{?scl_prefix}php-zlib, %{?scl_prefix}php-zlib%{?_isa} -%{?scl:Requires: %{scl}-runtime} - -%description common -The %{?scl_prefix}php-common package contains files used by both -the %{?scl_prefix}php package and the %{?scl_prefix}php-cli package. - -%package devel -Group: Development/Libraries -Summary: Files needed for building PHP extensions -Requires: %{?scl_prefix}php-cli%{?_isa} = %{version}-%{release}, autoconf, automake -%if %{with_libpcre} -Requires: pcre-devel%{?_isa} >= 8.20 -%endif -%if ! %{php_bootstrap} -Requires: %{?scl_prefix}php-pecl-jsonc-devel%{?_isa} -%endif - -%description devel -The %{?scl_prefix}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 opcache -Summary: The Zend OPcache -Group: Development/Languages -License: PHP -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php-pecl-zendopcache = %{opcachever} -Provides: %{?scl_prefix}php-pecl-zendopcache%{?_isa} = %{opcachever} -Provides: %{?scl_prefix}php-pecl(opcache) = %{opcachever} -Provides: %{?scl_prefix}php-pecl(opcache)%{?_isa} = %{opcachever} - -%description opcache -The Zend OPcache provides faster PHP execution through opcode caching and -optimization. It improves PHP performance by storing precompiled script -bytecode in the shared memory. This eliminates the stages of reading code from -the disk and compiling it on future access. In addition, it applies a few -bytecode optimization patterns that make code execution faster. - -%if %{with_imap} -%package imap -Summary: A module for PHP applications that use IMAP -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -BuildRequires: krb5-devel, openssl-devel, libc-client-devel - -%description imap -The %{?scl_prefix}php-imap module will add IMAP (Internet Message Access Protocol) -support to PHP. IMAP is a protocol for retrieving and uploading e-mail -messages on mail servers. PHP is an HTML-embedded scripting language. -%endif - -%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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -BuildRequires: cyrus-sasl-devel, openldap-devel, openssl-devel - -%description ldap -The %{?scl_prefix}php-ldap package 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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -# ABI/API check - Arch specific -Provides: %{?scl_prefix}php-pdo-abi = %{pdover}%{isasuffix} -Provides: %{?scl_prefix}php(pdo-abi) = %{pdover}%{isasuffix} -%if %{with_sqlite3} -Provides: %{?scl_prefix}php-sqlite3, %{?scl_prefix}php-sqlite3%{?_isa} -%endif -Provides: %{?scl_prefix}php-pdo_sqlite, %{?scl_prefix}php-pdo_sqlite%{?_isa} - -%description pdo -The %{?scl_prefix}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. - -%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: %{?scl_prefix}php-pdo%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php_database -Provides: %{?scl_prefix}php-mysql = %{version}-%{release} -Provides: %{?scl_prefix}php-mysql%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php-mysqli = %{version}-%{release} -Provides: %{?scl_prefix}php-mysqli%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php-pdo_mysql, %{?scl_prefix}php-pdo_mysql%{?_isa} -Obsoletes: %{?scl_prefix}php-mysql < %{version} - -%description mysqlnd -The %{?scl_prefix}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: %{?scl_prefix}php-pdo%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php_database -Provides: %{?scl_prefix}php-pdo_pgsql, %{?scl_prefix}php-pdo_pgsql%{?_isa} -BuildRequires: krb5-devel, openssl-devel, postgresql-devel - -%description pgsql -The %{?scl_prefix}php-pgsql package 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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php-posix, %{?scl_prefix}php-posix%{?_isa} -Provides: %{?scl_prefix}php-shmop, %{?scl_prefix}php-shmop%{?_isa} -Provides: %{?scl_prefix}php-sysvsem, %{?scl_prefix}php-sysvsem%{?_isa} -Provides: %{?scl_prefix}php-sysvshm, %{?scl_prefix}php-sysvshm%{?_isa} -Provides: %{?scl_prefix}php-sysvmsg, %{?scl_prefix}php-sysvmsg%{?_isa} - -%description process -The %{?scl_prefix}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: %{?scl_prefix}php-pdo%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php_database -Provides: %{?scl_prefix}php-pdo_odbc, %{?scl_prefix}php-pdo_odbc%{?_isa} -BuildRequires: unixODBC-devel - -%description odbc -The %{?scl_prefix}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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -BuildRequires: libxml2-devel - -%description soap -The %{?scl_prefix}php-soap package contains a dynamic shared object that will add -support to PHP for using the SOAP web services protocol. - -%if %{with_interbase} -%package interbase -Summary: A module for PHP applications that use Interbase/Firebird databases -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -BuildRequires: firebird-devel -Requires: %{?scl_prefix}php-pdo%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php_database -Provides: %{?scl_prefix}php-firebird, %{?scl_prefix}php-firebird%{?_isa} -Provides: %{?scl_prefix}php-pdo_firebird, %{?scl_prefix}php-pdo_firebird%{?_isa} - -%description interbase -The %{?scl_prefix}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. -%endif - -%if %{with_oci8} -%package oci8 -Summary: A module for PHP applications that use OCI8 databases -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -BuildRequires: oracle-instantclient-devel >= %{oraclever} -Requires: %{?scl_prefix}php-pdo%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php_database -Provides: %{?scl_prefix}php-pdo_oci, %{?scl_prefix}php-pdo_oci%{?_isa} -Obsoletes: %{?scl_prefix}php-pecl-oci8 < %{oci8ver} -Conflicts: %{?scl_prefix}php-pecl-oci8 >= %{oci8ver} -Provides: %{?scl_prefix}php-pecl(oci8) = %{oci8ver}, %{?scl_prefix}php-pecl(oci8)%{?_isa} = %{oci8ver} -# Should requires libclntsh.so.12.1, but it's not provided by Oracle RPM. -AutoReq: 0 - -%description oci8 -The %{?scl_prefix}php-oci8 packages provides the OCI8 extension version %{oci8ver} -and the PDO driver to access Oracle Database. - -The extension is linked with Oracle client libraries %{oraclever} -(Oracle Instant Client). For details, see Oracle's note -"Oracle Client / Server Interoperability Support" (ID 207303.1). - -You must install libclntsh.so.%{oraclever} to use this package, provided -in the database installation, or in the free Oracle Instant Client -available from Oracle. - -Notice: -- %{?scl_prefix}php-oci8 provides oci8 and pdo_oci extensions from php sources. -- %{?scl_prefix}php-pecl-oci8 only provides oci8 extension. - -Documentation is at http://php.net/oci8 and http://php.net/pdo_oci -%endif - -%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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release}, net-snmp -BuildRequires: net-snmp-devel - -%description snmp -The %{?scl_prefix}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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -Provides: %{?scl_prefix}php-dom, %{?scl_prefix}php-dom%{?_isa} -Provides: %{?scl_prefix}php-domxml, %{?scl_prefix}php-domxml%{?_isa} -Provides: %{?scl_prefix}php-simplexml, %{?scl_prefix}php-simplexml%{?_isa} -Provides: %{?scl_prefix}php-wddx, %{?scl_prefix}php-wddx%{?_isa} -Provides: %{?scl_prefix}php-xmlreader, %{?scl_prefix}php-xmlreader%{?_isa} -Provides: %{?scl_prefix}php-xmlwriter, %{?scl_prefix}php-xmlwriter%{?_isa} -Provides: %{?scl_prefix}php-xsl, %{?scl_prefix}php-xsl%{?_isa} -BuildRequires: libxslt-devel >= 1.0.18-1, libxml2-devel >= 2.4.14-1 - -%description xml -The %{?scl_prefix}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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} - -%description xmlrpc -The %{?scl_prefix}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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} - -%description mbstring -The %{?scl_prefix}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 -%if %{with_libgd} -License: PHP -%else -# bundled libgd is licensed under BSD -License: PHP and BSD -%endif -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -# Required to build the bundled GD library -BuildRequires: libjpeg-devel, libpng-devel, freetype-devel -BuildRequires: libXpm-devel -%if %{with_t1lib} -BuildRequires: t1lib-devel -%if %{with_vpx} -BuildRequires: libvpx-devel -%endif -%endif -%if %{with_libgd} -BuildRequires: gd-devel >= 2.1.0 -%endif - -%description gd -The %{?scl_prefix}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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} - -%description bcmath -The %{?scl_prefix}php-bcmath package contains a dynamic shared object that will add -support for using the bcmath library to PHP. - -%package gmp -Summary: A module for PHP applications for using the GNU MP library -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -BuildRequires: gmp-devel -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} - -%description gmp -These functions allow you to work with arbitrary-length integers -using the GNU MP library. - -%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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} - -%description dba -The %{?scl_prefix}php-dba package contains a dynamic shared object that will add -support for using the DBA database abstraction layer to PHP. - -%if %{with_mcrypt} -%package mcrypt -Summary: Standard PHP module provides mcrypt library support -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -BuildRequires: libmcrypt-devel - -%description mcrypt -The %{?scl_prefix}php-mcrypt package contains a dynamic shared object that will add -support for using the mcrypt library to PHP. -%endif - -%if %{with_tidy} -%package tidy -Summary: Standard PHP module provides tidy library support -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -BuildRequires: libtidy-devel - -%description tidy -The %{?scl_prefix}php-tidy package contains a dynamic shared object that will add -support for using the tidy library to PHP. -%endif - -%if %{with_mssql} -%package mssql -Summary: MSSQL database module for PHP -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: %{?scl_prefix}php-pdo%{?_isa} = %{version}-%{release} -BuildRequires: freetds-devel -Provides: %{?scl_prefix}php-pdo_dblib, %{?scl_prefix}php-pdo_dblib%{?_isa} - -%description mssql -The %{?scl_prefix}php-mssql package contains a dynamic shared object that will -add MSSQL database support to PHP. It uses the TDS (Tabular -DataStream) protocol through the freetds library, hence any -database server which supports TDS can be accessed. -%endif - -%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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -BuildRequires: aspell-devel >= 0.50.0 - -%description pspell -The %{?scl_prefix}php-pspell package contains a dynamic shared object that will add -support for using the pspell library to PHP. - -%if %{with_recode} -%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: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -BuildRequires: recode-devel - -%description recode -The %{?scl_prefix}php-recode package contains a dynamic shared object that will add -support for using the recode library to PHP. -%endif - -%package intl -Summary: Internationalization extension for PHP applications -Group: System Environment/Libraries -# All files licensed under PHP version 3.01 -License: PHP -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -# Upstream requires 4.0, we require 50 to ensure use of libicu-last -BuildRequires: libicu-devel >= 50 - -%description intl -The %{?scl_prefix}php-intl package contains a dynamic shared object that will add -support for using the ICU library to PHP. - -%if %{with_enchant} -%package enchant -Summary: Enchant spelling extension for PHP applications -# All files licensed under PHP version 3.0 -License: PHP -Group: System Environment/Libraries -Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} -BuildRequires: enchant-devel >= 1.2.4 - -%description enchant -The %{?scl_prefix}php-enchant package contains a dynamic shared object that will add -support for using the enchant library to PHP. -%endif - - -%prep -: Building %{name}-%{version}-%{release} with systemd=%{with_systemd} imap=%{with_imap} interbase=%{with_interbase} mcrypt=%{with_mcrypt} mssql=%{with_mssql} sqlite3=%{with_sqlite3} tidy=%{with_tidy} zip=%{with_zip} - -%setup -q -n php-%{version}%{?rcver} - -%patch5 -p1 -b .includedir -%patch7 -p1 -b .recode -%patch8 -p1 -b .libdb - -%patch21 -p1 -b .odbctimer - -%patch40 -p1 -b .dlopen -%patch42 -p1 -b .systzdata -%patch43 -p1 -b .headers -%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 -%patch45 -p1 -b .ldap_r -%endif -%patch46 -p1 -b .fixheader -%patch47 -p1 -b .phpinfo - -%patch91 -p1 -b .remi-oci8 - -# upstream patches - -# security patches - -# Fixes for tests -%if %{with_libpcre} -%if 0%{?fedora} < 21 -# Only apply when system libpcre < 8.34 -%patch301 -p1 -b .pcre834 -%endif -%endif -%patch302 -p0 -b .971416 - -# Prevent %%doc confusion over LICENSE files -cp Zend/LICENSE Zend/ZEND_LICENSE -cp TSRM/LICENSE TSRM_LICENSE -cp ext/ereg/regex/COPYRIGHT regex_COPYRIGHT -%if ! %{with_libgd} -cp ext/gd/libgd/README libgd_README -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/phar/LICENSE phar_LICENSE -cp ext/bcmath/libbcmath/COPYING.LIB libbcmath_COPYING - -# Multiple builds for multiple SAPIs -mkdir \ - build-fpm \ - build-apache \ - build-cgi - -# ----- Manage known as failed test ------- -# affected by systzdata patch -rm ext/date/tests/timezone_location_get.phpt -# fails sometime -rm ext/sockets/tests/mcast_ipv?_recv.phpt -# cause stack exhausion -rm Zend/tests/bug54268.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_OCI8_VERSION /{s/.* "//;s/".*$//;p}' ext/oci8/php_oci8.h) -if test "$ver" != "%{oci8ver}"; then - : Error: Upstream OCI8 version is now ${ver}, expecting %{oci8ver}. - : Update the oci8ver macro and rebuild. - exit 1 -fi - -ver=$(sed -n '/#define PHP_ZENDOPCACHE_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h) -if test "$ver" != "%{opcachever}"; then - : Error: Upstream OPCACHE version is now ${ver}, expecting %{opcachever}. - : Update the opcachever 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.* - -# Create the macros.php files -sed -e "s/@PHP_APIVER@/%{apiver}%{isasuffix}/" \ - -e "s/@PHP_ZENDVER@/%{zendver}%{isasuffix}/" \ - -e "s/@PHP_PDOVER@/%{pdover}%{isasuffix}/" \ - -e "s/@PHP_VERSION@/%{version}/" \ - -e "s:@LIBDIR@:%{_libdir}:" \ - -e "s:@ETCDIR@:%{_sysconfdir}:" \ - -e "s:@INCDIR@:%{_includedir}:" \ - -e "s:@BINDIR@:%{_bindir}:" \ - -e "s:@SCL@:%{?scl:%{scl}_}:" \ - %{SOURCE3} | tee macros.php - -# php-fpm configuration files for tmpfiles.d -# TODO echo "d /run/php-fpm 755 root root" >php-fpm.tmpfiles - -# Some extensions have their own configuration file -cp %{SOURCE50} 10-opcache.ini -cp %{SOURCE51} . -sed -e 's:%{_root_sysconfdir}:%{_sysconfdir}:' \ - -i 10-opcache.ini - - -%build -# aclocal workaround - to be improved -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 -cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >>aclocal.m4 -%endif - -# Force use of system libtool: -libtoolize --force --copy -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 -cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >build/libtool.m4 -%else -cat `aclocal --print-ac-dir`/libtool.m4 > build/libtool.m4 -%endif - -# 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 - -# Always static: -# date, ereg, filter, libxml, reflection, spl: not supported -# hash: for PHAR_SIG_SHA256 and PHAR_SIG_SHA512 -# session: dep on hash, used by soap and wddx -# pcre: used by filter, zip -# pcntl, readline: only used by CLI sapi -# openssl: for PHAR_SIG_OPENSSL -# zlib: used by image - -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-exec-dir=%{_bindir} \ - --with-freetype-dir=%{_root_prefix} \ - --with-png-dir=%{_root_prefix} \ - --with-xpm-dir=%{_root_prefix} \ -%if %{with_vpx} - --with-vpx-dir=%{_root_prefix} \ -%endif - --enable-gd-native-ttf \ -%if %{with_t1lib} - --with-t1lib=%{_root_prefix} \ -%endif - --without-gdbm \ - --with-jpeg-dir=%{_root_prefix} \ - --with-openssl \ -%if %{with_libpcre} - --with-pcre-regex=%{_root_prefix} \ -%endif - --with-zlib \ - --with-layout=GNU \ - --with-kerberos \ - --with-libxml-dir=%{_root_prefix} \ - --with-system-tzdata \ - --with-mhash \ -%if %{with_dtrace} - --enable-dtrace \ -%endif - $* -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 most the shared extensions -pushd build-cgi - -build --libdir=%{_libdir}/php \ - --enable-pcntl \ - --enable-opcache \ - --enable-phpdbg \ -%if %{with_imap} - --with-imap=shared --with-imap-ssl \ -%endif - --enable-mbstring=shared \ - --enable-mbregex \ -%if %{with_libgd} - --with-gd=shared,%{_root_prefix} \ -%else - --with-gd=shared \ -%endif - --with-gmp=shared \ - --enable-calendar=shared \ - --enable-bcmath=shared \ - --with-bz2=shared \ - --enable-ctype=shared \ - --enable-dba=shared --with-db4=%{_root_prefix} \ - --with-tcadb=%{_root_prefix} \ - --enable-exif=shared \ - --enable-ftp=shared \ - --with-gettext=shared \ - --with-iconv=shared \ - --enable-sockets=shared \ - --enable-tokenizer=shared \ - --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} \ -%if %{with_oci8} - --with-oci8=shared,instantclient,%{_root_libdir}/oracle/%{oraclever}/client64/lib,%{oraclever} \ - --with-pdo-oci=shared,instantclient,%{_root_prefix},%{oraclever} \ -%endif -%if %{with_interbase} - --with-interbase=shared,%{_libdir}/firebird \ - --with-pdo-firebird=shared,%{_libdir}/firebird \ -%endif - --enable-dom=shared \ - --with-pgsql=shared \ - --enable-simplexml=shared \ - --enable-xml=shared \ - --enable-wddx=shared \ - --with-snmp=shared,%{_root_prefix} \ - --enable-soap=shared \ - --with-xsl=shared,%{_root_prefix} \ - --enable-xmlreader=shared --enable-xmlwriter=shared \ - --with-curl=shared,%{_root_prefix} \ - --enable-pdo=shared \ - --with-pdo-odbc=shared,unixODBC,%{_root_prefix} \ - --with-pdo-mysql=shared,mysqlnd \ - --with-pdo-pgsql=shared,%{_root_prefix} \ - --with-pdo-sqlite=shared,%{_root_prefix} \ -%if %{with_sqlite3} - --with-sqlite3=shared,%{_root_prefix} \ -%else - --without-sqlite3 \ -%endif -%if %{with_zip} - --enable-zip=shared \ -%endif - --without-readline \ - --with-libedit \ - --with-pspell=shared \ - --enable-phar=shared \ -%if %{with_mcrypt} - --with-mcrypt=shared,%{_root_prefix} \ -%endif -%if %{with_tidy} - --with-tidy=shared,%{_root_prefix} \ -%endif -%if %{with_mssql} - --with-mssql=shared,%{_root_prefix} \ - --with-pdo-dblib=shared,%{_root_prefix} \ -%endif - --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \ - --enable-shmop=shared \ - --enable-posix=shared \ - --with-unixODBC=shared,%{_root_prefix} \ - --enable-intl=shared \ - --with-icu-dir=%{_root_prefix} \ -%if %{with_enchant} - --with-enchant=shared,%{_root_prefix} \ -%endif -%if %{with_recode} - --with-recode=shared,%{_root_prefix} \ -%endif - --enable-fileinfo=shared -popd - -without_shared="--without-gd \ - --disable-dom --disable-dba --without-unixODBC \ - --disable-opcache \ - --disable-xmlreader --disable-xmlwriter \ - --without-sqlite3 --disable-phar --disable-fileinfo \ - --without-pspell --disable-wddx \ - --without-curl --disable-posix --disable-xml \ - --disable-simplexml --disable-exif --without-gettext \ - --without-iconv --disable-ftp --without-bz2 --disable-ctype \ - --disable-shmop --disable-sockets --disable-tokenizer \ - --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_lsws} - --with-litespeed \ -%endif - --without-mysql \ - --disable-pdo \ - ${without_shared} -popd - -# Build php-fpm -pushd build-fpm -build --enable-fpm \ -%if %{with_systemdfull} - --with-fpm-systemd \ -%endif - --libdir=%{_libdir}/php \ - --without-mysql \ - --disable-pdo \ - ${without_shared} -popd - - -%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 - if ! grep -q XFAIL "${f/.diff/.phpt}" - then - echo "TEST FAILURE: $f --" - cat "$f" - echo -e "\n-- $f result ends." - fi - done - set -x - #exit 1 -fi -unset NO_INTERACTION REPORT_EXIT_STATUS MALLOC_CHECK_ -%endif - -%install -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT - -# Install the php-fpm binary -make -C build-fpm install-fpm \ - INSTALL_ROOT=$RPM_BUILD_ROOT - -# Install everything from the CGI SAPI build -make -C build-cgi install \ - INSTALL_ROOT=$RPM_BUILD_ROOT - -# 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 - -# For third-party packaging: -install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/php - -sed -e 's/libphp5/lib%{name}5/' %{SOURCE9} >modconf - -# 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} - -# Apache config fragment -install -m 755 -d $RPM_BUILD_ROOT%{_httpd_contentdir}/icons -install -m 644 php.gif $RPM_BUILD_ROOT%{_httpd_contentdir}/icons/%{name}.gif -%if %{?scl:1}0 -install -m 755 -d $RPM_BUILD_ROOT%{_root_httpd_moddir} -ln -s %{_httpd_moddir}/libphp5.so $RPM_BUILD_ROOT%{_root_httpd_moddir}/lib%{name}5.so -%endif - -%if "%{_httpd_modconfdir}" == "%{_httpd_confdir}" -# Single config file with httpd < 2.4 (RHEL <= 6) -install -D -m 644 modconf $RPM_BUILD_ROOT%{_httpd_confdir}/%{name}.conf -cat %{SOURCE1} >>$RPM_BUILD_ROOT%{_httpd_confdir}/%{name}.conf -%else -# Dual config file with httpd >= 2.4 (RHEL >= 7) -install -D -m 644 modconf $RPM_BUILD_ROOT%{_httpd_modconfdir}/10-%{name}.conf -install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir}/%{name}.conf -%if %{with_httpd2410} -cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_confdir}/%{name}.conf -%endif -%endif - -sed -e 's:/var/lib:%{_localstatedir}/lib:' \ - -i $RPM_BUILD_ROOT%{_httpd_confdir}/%{name}.conf - -install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d -install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php -install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/session -install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/wsdlcache - -%if %{with_lsws} -install -m 755 build-apache/sapi/litespeed/php $RPM_BUILD_ROOT%{_bindir}/lsphp -%endif - -# PHP-FPM stuff -# Log -install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/log/php-fpm -install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/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 -sed -e 's:/run:%{_localstatedir}/run:' \ - -e 's:/var/log:%{_localstatedir}/log:' \ - -e 's:/etc:%{_sysconfdir}:' \ - -i $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf -install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d/www.conf -sed -e 's:/var/lib:%{_localstatedir}/lib:' \ - -e 's:/var/log:%{_localstatedir}/log:' \ - -i $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 -%if %{with_systemdmax} -# this folder requires systemd >= 204 -install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/%{?scl_prefix}php-fpm.service.d -%endif -%if %{with_systemd} -install -m 755 -d $RPM_BUILD_ROOT%{_unitdir} -install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/%{?scl_prefix}php-fpm.service -sed -e 's:/run:%{_localstatedir}/run:' \ - -e 's:/etc:%{_sysconfdir}:' \ - -e 's:/usr/sbin:%{_sbindir}:' \ - -i $RPM_BUILD_ROOT%{_unitdir}/%{?scl_prefix}php-fpm.service -%else -# Service -install -m 755 -d $RPM_BUILD_ROOT%{_root_initddir} -install -m 755 %{SOURCE11} $RPM_BUILD_ROOT%{_root_initddir}/%{?scl_prefix}php-fpm -# Needed relocation for SCL -sed -e '/php-fpm.pid/s:/var:%{_localstatedir}:' \ - -e '/subsys/s/php-fpm/%{?scl_prefix}php-fpm/' \ - -e 's:/etc/sysconfig/php-fpm:%{_sysconfdir}/sysconfig/php-fpm:' \ - -e 's:/etc/php-fpm.conf:%{_sysconfdir}/php-fpm.conf:' \ - -e 's:/usr/sbin:%{_sbindir}:' \ - -i $RPM_BUILD_ROOT%{_root_initddir}/%{?scl_prefix}php-fpm -%endif - -# LogRotate -install -m 755 -d $RPM_BUILD_ROOT%{_root_sysconfdir}/logrotate.d -install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_root_sysconfdir}/logrotate.d/%{?scl_prefix}php-fpm -sed -e 's:/run:%{_localstatedir}/run:' \ - -e 's:/var/log:%{_localstatedir}/log:' \ - -i $RPM_BUILD_ROOT%{_root_sysconfdir}/logrotate.d/%{?scl_prefix}php-fpm -# Environment file -install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig -install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/php-fpm - -# Fix the link -(cd $RPM_BUILD_ROOT%{_bindir}; ln -sfn phar.phar phar) - -# make the cli commands available in standard root for SCL build -%if 0%{?scl:1} -install -m 755 -d $RPM_BUILD_ROOT%{_root_bindir} -ln -s %{_bindir}/php $RPM_BUILD_ROOT%{_root_bindir}/%{scl} -ln -s %{_bindir}/phar.phar $RPM_BUILD_ROOT%{_root_bindir}/%{scl_prefix}phar -ln -s %{_bindir}/phpdbg $RPM_BUILD_ROOT%{_root_bindir}/%{scl_prefix}phpdbg -%if %{with_lsws} -ln -s %{_bindir}/lsphp $RPM_BUILD_ROOT%{_root_bindir}/ls%{scl} -%endif -%endif - -# Generate files lists and stub .ini files for each subpackage -for mod in pgsql odbc ldap snmp xmlrpc \ - mysqlnd mysql mysqli pdo_mysql \ -%if %{with_imap} - imap \ -%endif - mbstring gd dom xsl soap bcmath dba xmlreader xmlwriter \ - simplexml bz2 calendar ctype exif ftp gettext gmp iconv \ - sockets tokenizer opcache \ - pdo pdo_pgsql pdo_odbc pdo_sqlite \ -%if %{with_sqlite3} - sqlite3 \ -%endif -%if %{with_oci8} - oci8 pdo_oci \ -%endif -%if %{with_interbase} - interbase pdo_firebird \ -%endif -%if %{with_enchant} - enchant \ -%endif - phar fileinfo intl \ -%if %{with_mcrypt} - mcrypt \ -%endif -%if %{with_tidy} - tidy \ -%endif -%if %{with_mssql} - pdo_dblib mssql \ -%endif -%if %{with_recode} - recode \ -%endif -%if %{with_zip} - zip \ -%endif - pspell curl wddx xml \ - posix shmop sysvshm sysvsem sysvmsg -do - # for extension load order - case $mod in - opcache) - # Zend extensions - ini=10-${mod}.ini;; - pdo_*|mysql|mysqli|wddx|xmlreader|xmlrpc) - # Extensions with dependencies on 20-* - ini=30-${mod}.ini;; - *) - # Extensions with no dependency - ini=20-${mod}.ini;; - esac - # some extensions have their own config file - if [ -f ${ini} ]; then - cp -p ${ini} $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${ini} - else - cat > $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${ini} <<EOF -; Enable ${mod} extension module -extension=${mod}.so -EOF - fi - cat > files.${mod} <<EOF -%attr(755,root,root) %{_libdir}/php/modules/${mod}.so -%config(noreplace) %attr(644,root,root) %{_sysconfdir}/php.d/${ini} -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 \ - files.simplexml >> files.xml - -# mysqlnd -cat files.mysql \ - files.mysqli \ - files.pdo_mysql \ - >> files.mysqlnd - -# Split out the PDO modules -%if %{with_mssql} -cat files.pdo_dblib >> files.mssql -%endif -cat files.pdo_pgsql >> files.pgsql -cat files.pdo_odbc >> files.odbc -%if %{with_oci8} -cat files.pdo_oci >> files.oci8 -%endif -%if %{with_interbase} -cat files.pdo_firebird >> files.interbase -%endif - -# sysv* and posix in packaged in php-process -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 zip, curl, phar and fileinfo in -common. -cat files.curl files.phar files.fileinfo \ - files.exif files.gettext files.iconv files.calendar \ - files.ftp files.bz2 files.ctype files.sockets \ - files.tokenizer > files.common -%if %{with_zip} -cat files.zip >> files.common -%endif - -# The default Zend OPcache blacklist file -install -m 644 opcache-default.blacklist $RPM_BUILD_ROOT%{_sysconfdir}/php.d/opcache-default.blacklist - -# Install the macros file: -install -m 644 -D macros.php \ - $RPM_BUILD_ROOT%{macrosdir}/macros.%{name} - -# Remove unpackaged files -rm -rf $RPM_BUILD_ROOT%{_libdir}/php/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} - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT -rm files.* macros.* - -%if ! %{with_httpd2410} -%pre fpm -# Add the "apache" user (to avoid pulling httpd in our dep) -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 -%endif - -%post fpm -%if 0%{?systemd_post:1} -%systemd_post %{?scl:%{scl}-}php-fpm.service -%else -if [ $1 = 1 ]; then - # Initial installation -%if %{with_systemd} - /bin/systemctl daemon-reload >/dev/null 2>&1 || : -%else - /sbin/chkconfig --add %{?scl_prefix}php-fpm -%endif -fi -%endif - -%preun fpm -%if 0%{?systemd_preun:1} -%systemd_preun %{?scl:%{scl}-}php-fpm.service -%else -if [ $1 = 0 ]; then - # Package removal, not upgrade -%if %{with_systemd} - /bin/systemctl --no-reload disable %{?scl_prefix}php-fpm.service >/dev/null 2>&1 || : - /bin/systemctl stop %{?scl_prefix}php-fpm.service >/dev/null 2>&1 || : -%else - /sbin/service %{?scl_prefix}php-fpm stop >/dev/null 2>&1 - /sbin/chkconfig --del %{?scl_prefix}php-fpm -%endif -fi -%endif - -%postun fpm -%if 0%{?systemd_postun_with_restart:1} -%systemd_postun_with_restart %{?scl:%{scl}-}php-fpm.service -%else -%if %{with_systemd} -/bin/systemctl daemon-reload >/dev/null 2>&1 || : -if [ $1 -ge 1 ]; then - # Package upgrade, not uninstall - /bin/systemctl try-restart %{?scl_prefix}php-fpm.service >/dev/null 2>&1 || : -fi -%else -if [ $1 -ge 1 ]; then - /sbin/service %{?scl_prefix}php-fpm condrestart >/dev/null 2>&1 || : -fi -%endif -%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 -- %{?scl_prefix}php-fpm -%if %{with_systemd} -if [ -f /etc/rc.d/init.d/%{?scl_prefix}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 %{?scl_prefix}php-fpm >/dev/null 2>&1 || : - - # Run these because the SysV package being removed won't do them - /sbin/chkconfig --del %{?scl_prefix}php-fpm >/dev/null 2>&1 || : - /bin/systemctl try-restart %{?scl_prefix}php-fpm.service >/dev/null 2>&1 || : -fi -%endif - -%{!?_licensedir:%global license %%doc} - -%files -%defattr(-,root,root) -%{_httpd_moddir}/libphp5.so -%if 0%{?scl:1} -%dir %{_libdir}/httpd -%dir %{_libdir}/httpd/modules -%{_root_httpd_moddir}/lib%{name}5.so -%endif -%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/session -%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/wsdlcache -%config(noreplace) %{_httpd_confdir}/%{name}.conf -%if "%{_httpd_modconfdir}" != "%{_httpd_confdir}" -%config(noreplace) %{_httpd_modconfdir}/10-%{name}.conf -%endif -%{_httpd_contentdir}/icons/%{name}.gif - -%files common -f files.common -%defattr(-,root,root) -%doc CODING_STANDARDS CREDITS EXTENSIONS NEWS README* -%license LICENSE Zend/ZEND_* TSRM_LICENSE regex_COPYRIGHT -%license libmagic_LICENSE -%license phar_LICENSE -%doc php.ini-* -%config(noreplace) %{_sysconfdir}/php.ini -%dir %{_sysconfdir}/php.d -%dir %{_libdir}/php -%dir %{_libdir}/php/modules -%dir %{_localstatedir}/lib/php -%dir %{_datadir}/php - -%files cli -%defattr(-,root,root) -%{_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 0%{?scl:1} -%{_root_bindir}/%{scl} -%{_root_bindir}/%{scl_prefix}phar -%endif - -%files dbg -%defattr(-,root,root) -%{_bindir}/phpdbg -%{_mandir}/man1/phpdbg.1* -%doc sapi/phpdbg/{README.md,CREDITS} -%if 0%{?scl:1} -%{_root_bindir}/%{scl_prefix}phpdbg -%endif - -%files fpm -%defattr(-,root,root) -%doc php-fpm.conf.default -%license fpm_LICENSE -%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/session -%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/wsdlcache -%if %{with_httpd2410} -%config(noreplace) %{_httpd_confdir}/%{name}.conf -%endif -%config(noreplace) %{_sysconfdir}/php-fpm.conf -%config(noreplace) %{_sysconfdir}/php-fpm.d/www.conf -%config(noreplace) %{_root_sysconfdir}/logrotate.d/%{?scl_prefix}php-fpm -%config(noreplace) %{_sysconfdir}/sysconfig/php-fpm -# %{_prefix}/lib/tmpfiles.d/php-fpm.conf -%if %{with_systemd} -%{_unitdir}/%{?scl_prefix}php-fpm.service -%if %{with_systemdmax} -%dir %{_sysconfdir}/systemd/system/%{?scl_prefix}php-fpm.service.d -%endif -%else -%{_root_initddir}/%{?scl_prefix}php-fpm -%endif -%{_sbindir}/php-fpm -%dir %{_sysconfdir}/php-fpm.d -# log owned by apache for log -%attr(770,apache,root) %dir %{_localstatedir}/log/php-fpm -%dir %{_localstatedir}/run/php-fpm -%{_mandir}/man8/php-fpm.8* -%dir %{_datadir}/fpm -%{_datadir}/fpm/status.html - -%if %{with_lsws} -%files litespeed -%defattr(-,root,root) -%{_bindir}/lsphp -%if 0%{?scl:1} -%{_root_bindir}/ls%{scl} -%endif -%endif - -%files devel -%defattr(-,root,root) -%{_bindir}/php-config -%{_includedir}/php -%{_libdir}/php/build -%{_mandir}/man1/php-config.1* -%{macrosdir}/macros.%{name} - -%files pgsql -f files.pgsql -%files odbc -f files.odbc -%if %{with_imap} -%files imap -f files.imap -%endif -%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 -%defattr(-,root,root,-) -%license libmbfl_LICENSE -%license oniguruma_COPYING -%license ucgendat_LICENSE -%files gd -f files.gd -%defattr(-,root,root,-) -%if ! %{with_libgd} -%license libgd_README -%license libgd_COPYING -%endif -%files soap -f files.soap -%files bcmath -f files.bcmath -%defattr(-,root,root,-) -%license libbcmath_COPYING -%files gmp -f files.gmp -%files dba -f files.dba -%files pdo -f files.pdo -%if %{with_mcrypt} -%files mcrypt -f files.mcrypt -%endif -%if %{with_tidy} -%files tidy -f files.tidy -%endif -%if %{with_mssql} -%files mssql -f files.mssql -%endif -%files pspell -f files.pspell -%files intl -f files.intl -%files process -f files.process -%if %{with_recode} -%files recode -f files.recode -%endif -%if %{with_interbase} -%files interbase -f files.interbase -%endif -%if %{with_enchant} -%files enchant -f files.enchant -%endif -%files mysqlnd -f files.mysqlnd -%files opcache -f files.opcache -%config(noreplace) %{_sysconfdir}/php.d/opcache-default.blacklist -%if %{with_oci8} -%files oci8 -f files.oci8 -%endif - - -%changelog -* Fri Aug 29 2014 Remi Collet <remi@fedoraproject.org> 5.6.0-1.1 -- enable libvpx on EL 6 (with libvpx 1.3.0) -- add php56-phpdbg command in base system - -* Thu Aug 28 2014 Remi Collet <remi@fedoraproject.org> 5.6.0-1 -- PHP 5.6.0 is GA -- add lsphp56 command in base system - -* Sun Aug 24 2014 Remi Collet <rcollet@redhat.com> - 5.6.0-0.1.RC4 -- initial spec for PHP 5.6 as Software Collection -- adapted from php 5.6 spec file from remi repository -- adapted from php 5.5 spec file from rhscl 1.1
\ No newline at end of file |