X-Git-Url: https://git.tld-linux.org/?p=packages%2Fphp.git;a=blobdiff_plain;f=php.spec;h=45b25191837284f318617729a7266c4137d20cfc;hp=7f8e82826eeb8bf3b5de1469d025dd5366730aa5;hb=a84fb7d2e9b9cdae9cb2d9e129019a05cb413adc;hpb=3b1cffe10e4563ac22dee2916ec7f4ea20be8f04 diff --git a/php.spec b/php.spec index 7f8e828..45b2519 100644 --- a/php.spec +++ b/php.spec @@ -1,15 +1,13 @@ -# TODO 5.5: +# TODO 5.6: +# - phpdbg: link with libphp_common # - enable --with-fpm-systemd, but ensure it checks for sd_booted() # - build with system libgd 2.1, see 73c5128 # TODO 5.4: -# - do not remove PatchX: definitions until merged to HEAD, needed for tracking their state # - check php-sapi-ini-file.patch for safe mode removal # - update imap annotations patch (needs api porting) # - update imap myrights patch (needs api porting) # --with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED # --with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix. -# - uses libvpx for webp support, should use libwebp-devel instead? -# NOTE: mysqlnd does not support ssl or compression (see FAQ at http://dev.mysql.com/downloads/connector/php-mysqlnd/) # UNPACKAGED EXTENSION NOTES: # - com_dotnet is Win32-only # TODO: @@ -40,13 +38,14 @@ #+ereg # libxml # Reflection -# +# standard +# # Conditional build: %bcond_without default_php # use this PHP as default PHP in distro %bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs) -%bcond_with oci8 # with Oracle oci8 extension module (BR: proprietary libs) +%bcond_with oci # with Oracle oci8 extension module (BR: proprietary libs) %bcond_with instantclient # build Oracle oci8 extension module against oracle-instantclient package -%bcond_with system_gd # with system gd (we prefer internal since it enables few more features) +%bcond_with system_gd # with system gd (imageantialias function is missing then) %bcond_with system_libzip # with system libzip (reported broken currently) %bcond_without curl # without CURL extension module %bcond_without enchant # without Enchant extension module @@ -60,8 +59,7 @@ %bcond_without mhash # without mhash extension (supported by hash extension) %bcond_without mm # without mm support for session storage %bcond_without mssql # without MS SQL extension module -# don't turn it on by default; see TODO item for mysqlnd in this spec -%bcond_with mysqlnd # with mysqlnd support in mysql related extensions +%bcond_without mysqlnd # without mysqlnd support in mysql related extensions %bcond_without mysqli # without mysqli support (Requires mysql > 4.1) %bcond_without odbc # without ODBC extension module %bcond_without opcache # without Enable Zend OPcache extension support @@ -85,8 +83,10 @@ %bcond_with zts # Zend Thread Safety %bcond_without cgi # disable CGI/FCGI SAPI %bcond_without fpm # disable FPM -%bcond_with embed # disable Embedded API -%bcond_without suhosin # with suhosin patch +%bcond_without embed # disable Embedded API +%bcond_without phpdbg # disable phpdbg SAPI +%bcond_with milter # disable Milter SAPI +%bcond_with suhosin # with suhosin patch, has little point in PHP>=5.3, see https://github.com/stefanesser/suhosin/issues/42#issuecomment-41728178 %bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test" %bcond_with gcov # Enable Code coverage reporting %bcond_with type_hints # experimental support for strict typing/casting @@ -107,6 +107,11 @@ %undefine with_mm %endif +# milter requires ZTS +%if %{with milter} && %{without zts} +%undefine with_milter +%endif + %ifnarch %{ix86} %{x8664} sparc sparcv9 alpha # ppc disabled (broken on th-ppc) %undefine with_interbase @@ -130,7 +135,7 @@ ERROR: You need to select at least one Apache SAPI to build shared modules. %define rel 1 %define orgname php -%define ver_suffix 55 +%define ver_suffix 56 %define php_suffix %{!?with_default_php:%{ver_suffix}} Summary: PHP: Hypertext Preprocessor Summary(fr.UTF-8): Le langage de script embarque-HTML PHP @@ -139,13 +144,13 @@ Summary(pt_BR.UTF-8): A linguagem de script PHP Summary(ru.UTF-8): PHP Версии 5 - язык препроцессирования HTML-файлов, выполняемый на сервере Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} -Version: 5.5.1 -Release: %{rel}%{?with_type_hints:.th}%{?with_oci8:.oci} +Version: 5.6.6 +Release: %{rel}%{?with_type_hints:.th} Epoch: 4 License: PHP Group: Libraries -Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.bz2 -# Source0-md5: e6520ba8f86e03451f1e9226ca2be681 +Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.xz +# Source0-md5: ed0c9ad2419fffde1d8c03a2d8164179 Source2: %{orgname}-mod_%{orgname}.conf Source3: %{orgname}-cgi-fcgi.ini Source4: %{orgname}-apache.ini @@ -158,25 +163,23 @@ Source12: %{orgname}-branch.sh Source13: dep-tests.sh Source14: skip-tests.sh Patch0: %{orgname}-shared.patch -Patch1: %{orgname}-pldlogo.patch +Patch1: %{orgname}-tld.patch Patch2: %{orgname}-mail.patch Patch3: %{orgname}-link-libs.patch Patch4: %{orgname}-libpq_fs_h_path.patch Patch5: %{orgname}-filter-shared.patch Patch6: %{orgname}-build_modules.patch Patch7: %{orgname}-sapi-ini-file.patch -Patch8: %{orgname}-config-file-scan-dir.patch -Patch9: %{orgname}-sh.patch +Patch8: milter.patch +Patch9: libtool-tag.patch Patch10: %{orgname}-ini.patch Patch11: embed.patch %if %{with type_hints} Patch12: http://ilia.ws/patch/type_hint_53_v2.txt %endif Patch14: %{orgname}-no_pear_install.patch -#Patch15: %{orgname}-zlib.patch # no longer needed? Patch17: %{orgname}-readline.patch Patch18: %{orgname}-nohttpd.patch -Patch19: %{orgname}-gd_imagerotate_enable.patch Patch20: %{orgname}-uint32_t.patch Patch21: %{orgname}-dba-link.patch Patch22: %{orgname}-both-apxs.patch @@ -187,7 +190,6 @@ Patch26: %{orgname}-pear.patch Patch27: %{orgname}-config-dir.patch Patch29: %{orgname}-fcgi-graceful.patch Patch31: %{orgname}-fcgi-error_log-no-newlines.patch -#Patch32: %{orgname}-curl-limit-speed.patch # applied upstream Patch34: %{orgname}-libtool.patch Patch35: %{orgname}-tds.patch Patch36: %{orgname}-mysql-charsetphpini.patch @@ -201,22 +203,20 @@ Patch44: %{orgname}-include_path.patch Patch45: %{orgname}-imap-annotations.patch Patch46: %{orgname}-imap-myrights.patch Patch47: suhosin.patch -#Patch49: %{orgname}-m4-divert.patch # no longer needed, upstream supports new ac Patch50: extension-shared-optional-dep.patch Patch51: spl-shared.patch Patch52: pcre-shared.patch Patch53: fix-test-run.patch -#Patch54: mysqlnd-shared.patch # shared build supported upstream Patch55: bug-52078-fileinode.patch -#Patch57: bug-52448.patch # outdated Patch59: %{orgname}-systzdata.patch Patch60: %{orgname}-oracle-instantclient.patch -#Patch61: %{orgname}-krb5-ac.patch # not needed on 5.4 anymore Patch62: mcrypt-libs.patch Patch63: %{orgname}-mysql-nowarning.patch -#Patch64: %{orgname}-m4.patch # not needed on 5.4 branch Patch65: system-libzip.patch Patch66: php-db.patch +Patch67: mysql-lib-ver-mismatch.patch +Patch69: fpm-conf-split.patch +Patch70: mysqlnd-ssl.patch URL: http://www.php.net/ %{?with_interbase:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}} %{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0} @@ -229,7 +229,6 @@ BuildRequires: cyrus-sasl-devel BuildRequires: db-devel >= 4.0 BuildRequires: elfutils-devel %{?with_enchant:BuildRequires: enchant-devel >= 1.1.3} -#BuildRequires: fcgi-devel %{?with_kerberos5:BuildRequires: heimdal-devel} %{?with_system_libzip:BuildRequires: libzip-devel >= 0.10.1-2} %{!?with_mysqlnd:BuildRequires: mysql-devel} @@ -238,7 +237,7 @@ BuildRequires: sed >= 4.0 %if %{with mssql} || %{with sybase_ct} BuildRequires: freetds-devel >= 0.82 %endif -BuildRequires: freetype-devel >= 2.0 +BuildRequires: freetype-devel >= 2.5.1 %if %{with system_gd} BuildRequires: gd-devel >= 2.1 %endif @@ -250,11 +249,9 @@ BuildRequires: libjpeg-devel BuildRequires: libltdl-devel >= 1.4 BuildRequires: libmcrypt-devel >= 2.4.4 BuildRequires: libpng-devel >= 1.0.8 -#BuildRequires: libtiff-devel %{?with_webp:BuildRequires: libvpx-devel} BuildRequires: tokyocabinet-devel BuildRequires: libtool >= 2:2.2 -#BuildRequires: libwrap-devel BuildRequires: libxml2-devel >= 1:2.7.6-4 BuildRequires: libxslt-devel >= 1.1.0 %{?with_mm:BuildRequires: mm-devel >= 1.3.0} @@ -265,7 +262,7 @@ BuildRequires: openssl-devel >= 0.9.7d %{?with_gcov:BuildRequires: lcov} %{?with_snmp:%{?with_tests:BuildRequires: mibs-net-snmp}} %{?with_snmp:BuildRequires: net-snmp-devel >= 5.0.7} -%{?with_instantclient:BuildRequires: oracle-instantclient-devel} +%{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel}} BuildRequires: pam-devel %{?with_pcre:BuildRequires: pcre-devel >= 8.10} BuildRequires: pkgconfig @@ -294,9 +291,6 @@ BuildRequires: apache-devel >= 2.0.52-2 BuildRequires: apr-devel >= 1:1.0.0 BuildRequires: apr-util-devel >= 1:1.0.0 %endif -%if %{with fpm} -#BuildRequires: judy-devel -%endif BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define php_sysconfdir /etc/%{name} @@ -304,30 +298,32 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir %{php_sysconfdir} # must be in sync with source. extra check ensuring that it is so is done in %%build -%define php_api_version 20121113 -%define zend_module_api 20121212 -%define zend_extension_api 220121212 +%define php_api_version 20131106 +%define zend_module_api 20131226 +%define zend_extension_api 220131226 +%define php_pdo_api_version 20080721 # Extension versions %define bz2ver 1.0 %define enchantver 1.1.0 -%define fileinfover 1.0.5-dev +%define fileinfover 1.0.5 %define hashver 1.0 %define intlver 1.1.0 %define jsonver 1.2.1 -%define opcachever 7.0.2-dev -%define pharver 2.0.1 +%define opcachever 7.0.4-dev +%define pharver 2.0.2 %define sqlite3ver 0.7-dev -%define zipver 1.11.0 +%define zipver 1.12.4 +%define phpdbgver 0.4.0 -%define zend_zts %{!?with_zts:0}%{?with_zts:1} +%define _zend_zts %{!?with_zts:0}%{?with_zts:1} %define php_debug %{!?debug:0}%{?debug:1} %if %{with gcov} %undefine with_ccache %endif -%if %{with oci8} +%if %{with oci} # ORACLE_HOME is required for oci8 ext to build %define _preserve_env %_preserve_env_base ORACLE_HOME %endif @@ -389,12 +385,12 @@ PHP - це мова написання скриптів, що вбудовуют Summary: PHP DSO module for Apache 1.3.x Summary(pl.UTF-8): Moduł DSO (Dynamic Shared Object) PHP dla Apache 1.3.x Group: Development/Languages/PHP -Requires(triggerpostun): sed >= 4.0 Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: apache1(EAPI) >= 1.3.33-2 Requires: apache1-mod_mime Provides: webserver(php) = %{version} Obsoletes: apache-mod_php < 1:4.1.1 +Obsoletes: apache1-mod_php < 4:5.3.28-7 Obsoletes: phpfi %description -n apache1-mod_%{name} @@ -411,6 +407,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: apache(modules-api) = %{apache_modules_api} Requires: apache-mod_mime Provides: webserver(php) = %{version} +Obsoletes: apache-mod_php < 4:5.3.28-7 Obsoletes: phpfi %description -n apache-mod_%{name} @@ -424,7 +421,9 @@ Summary: PHP for litespeed HTTP server Summary(pl.UTF-8): PHP dla serwera HTTP litespeed Group: Development/Languages/PHP Requires: %{name}-common = %{epoch}:%{version}-%{release} +Provides: php(litespeed) Provides: webserver(php) = %{version} +Obsoletes: php-litespeed < 4:5.3.28-7 %description litespeed PHP for litespeed HTTP server. @@ -441,6 +440,7 @@ Provides: %{name}-fcgi = %{epoch}:%{version}-%{release} Provides: php(cgi) Provides: php(fcgi) Provides: webserver(php) = %{version} +Obsoletes: php-cgi < 4:5.3.28-7 Obsoletes: php-fcgi < 4:5.3.0 Conflicts: logrotate < 3.8.0 @@ -455,7 +455,8 @@ Summary: PHP as CLI interpreter Summary(pl.UTF-8): PHP jako interpreter działający z linii poleceń Group: Development/Languages/PHP Requires: %{name}-common = %{epoch}:%{version}-%{release} -Obsoletes: php-program +Provides: php-program +Obsoletes: php-cli < 4:5.3.28-7 %description cli PHP as CLI interpreter. @@ -468,6 +469,7 @@ Summary: PHP library for embedding in applications Summary(pl.UTF-8): Biblioteka PHP do osadzania w aplikacjach Group: Libraries Requires: %{name}-common = %{epoch}:%{version}-%{release} +Obsoletes: php-embedded < 4:5.3.28-7 %description embedded The php-embedded package contains a library which can be embedded into @@ -488,8 +490,10 @@ Requires(pre): /bin/id Requires(pre): /usr/sbin/useradd Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: rc-scripts +Provides: php(fpm) Provides: user(http) Provides: webserver(php) = %{version} +Obsoletes: php-fpm < 4:5.3.28-7 %description fpm PHP FastCGI Process Manager. @@ -497,6 +501,22 @@ PHP FastCGI Process Manager. %description fpm -l pl.UTF-8 PHP FastCGI Process Manager - zarządca procesów FastCGI. +%package phpdbg +Summary: The debugging platform for PHP 5.4+ +Group: Development/Languages/PHP +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Provides: php(phpdbg) = %{phpdbgver} + +%description phpdbg +phpdbg - The interactive PHP debugger. + +Implemented as a SAPI module, phpdbg can excert complete control over +the environment without impacting the functionality or performance of +your code. + +phpdbg aims to be a lightweight, powerful, easy to use debugging +platform for PHP 5.4+ + %package common Summary: Common files needed by both Apache modules and CGI/CLI SAPIs Summary(pl.UTF-8): Wspólne pliki dla modułu Apache'a i programu CGI @@ -511,7 +531,7 @@ Requires: rpm-whiteout >= 1.28 Requires: tzdata Provides: %{name}(debug) = %{php_debug} Provides: %{name}(modules_api) = %{php_api_version} -Provides: %{name}(thread-safety) = %{zend_zts} +Provides: %{name}(thread-safety) = %{_zend_zts} Provides: %{name}(zend_extension_api) = %{zend_extension_api} Provides: %{name}(zend_module_api) = %{zend_module_api} Provides: %{name}-core @@ -522,14 +542,15 @@ Provides: %{name}-standard Provides: php(core) = %{version} Provides: php(date) Provides: php(ereg) -Provides: php(hash) Provides: php(libxml) Provides: php(reflection) Provides: php(standard) -%{!?with_mysqlnd:Obsoletes: php-mysqlnd} +%{!?with_mysqlnd:Obsoletes: %{name}-mysqlnd} %{?with_pcre:%requires_ge_to pcre pcre-devel} +Obsoletes: php-common < 4:5.3.28-7 Obsoletes: php-pecl-domxml Conflicts: php4-common < 3:4.4.4-8 +Conflicts: php55-common < 4:5.5.10-4 Conflicts: rpm < 4.4.2-0.2 %description common @@ -559,10 +580,13 @@ Requires: automake Requires: libtool >= 2:2.2 %{?with_pcre:Requires: pcre-devel >= 8.10} Requires: shtool -Obsoletes: php-devel +Provides: php-devel = %{epoch}:%{version}-%{release} Obsoletes: php-pear-devel Obsoletes: php4-devel Obsoletes: php52-devel +Obsoletes: php53-devel +Obsoletes: php54-devel +Obsoletes: php55-devel %description devel The php-devel package lets you compile dynamic extensions to PHP. @@ -604,6 +628,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.bc.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(bcmath) +Obsoletes: php-bcmath < 4:5.3.28-7 %description bcmath This is a dynamic shared object (DSO) for PHP that will add bc style @@ -622,6 +647,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(bz2) = %{bz2ver} Provides: php(bzip2) Provides: php-bzip2 = %{epoch}:%{version}-%{release} +Obsoletes: php-bz2 < 4:5.3.28-7 Obsoletes: php-bzip2 < 4:5.2.14-3 Obsoletes: php-pecl-bz2 < %{bz2ver} @@ -639,6 +665,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.calendar.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(calendar) +Obsoletes: php-calendar < 4:5.3.28-7 %description calendar This is a dynamic shared object (DSO) for PHP that will add calendar @@ -654,6 +681,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.ctype.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(ctype) +Obsoletes: php-ctype < 4:5.3.28-7 %description ctype This is a dynamic shared object (DSO) for PHP that will add ctype @@ -669,6 +697,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.curl.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(curl) +Obsoletes: php-curl < 4:5.3.28-7 %description curl This is a dynamic shared object (DSO) for PHP that will add curl @@ -684,6 +713,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.dba.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(dba) +Obsoletes: php-dba < 4:5.3.28-7 %description dba This is a dynamic shared object (DSO) for PHP that will add flat-file @@ -703,6 +733,7 @@ Provides: php(dom) # it has some compatibility functions Provides: %{name}-domxml = %{epoch}:%{version}-%{release} Provides: php(domxml) +Obsoletes: php-dom < 4:5.3.28-7 Obsoletes: php-domxml <= 3:4.3.8-1 %description dom @@ -719,6 +750,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.exif.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(enchant) = %{enchantver} +Obsoletes: php-enchant < 4:5.3.28-7 Obsoletes: php-pecl-enchant < %{enchantver} %description enchant @@ -748,6 +780,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.exif.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(exif) +Obsoletes: php-exif < 4:5.3.28-7 %description exif This is a dynamic shared object (DSO) for PHP that will add EXIF tags @@ -764,6 +797,7 @@ URL: http://www.php.net/manual/en/book.fileinfo.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pcre = %{epoch}:%{version}-%{release} Provides: php(fileinfo) = %{fileinfover} +Obsoletes: php-fileinfo < 4:5.3.28-7 Obsoletes: php-mime_magic Obsoletes: php-pecl-fileinfo < %{fileinfover} @@ -790,6 +824,7 @@ URL: http://www.php.net/manual/en/book.filter.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pcre = %{epoch}:%{version}-%{release} Provides: php(filter) +Obsoletes: php-filter < 4:5.3.28-7 Obsoletes: php-pecl-filter %description filter @@ -813,6 +848,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.ftp.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(ftp) +Obsoletes: php-ftp < 4:5.3.28-7 %description ftp This is a dynamic shared object (DSO) for PHP that will add FTP @@ -828,11 +864,11 @@ Group: Libraries URL: http://www.php.net/manual/en/book.image.php Requires: %{name}-common = %{epoch}:%{version}-%{release} %if %{with system_gd} -Requires: gd >= 2.0.28-4 +Requires: gd >= 2.1 Requires: gd(gif) -Requires: gd(imagerotate) = 5.2.0 %endif Provides: php(gd) +Obsoletes: php-gd < 4:5.3.28-7 %description gd This is a dynamic shared object (DSO) for PHP that will add GD @@ -849,6 +885,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.gettext.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(gettext) +Obsoletes: php-gettext < 4:5.3.28-7 %description gettext This is a dynamic shared object (DSO) for PHP that will add gettext @@ -864,6 +901,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.gmp.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(gmp) +Obsoletes: php-gmp < 4:5.3.28-7 %description gmp This is a dynamic shared object (DSO) for PHP that will add arbitrary @@ -885,6 +923,7 @@ Provides: php(mhash) Provides: php-mhash = %{epoch}:%{version}-%{release} Obsoletes: php-mhash < 4:5.3.0 %endif +Obsoletes: php-hash < 4:5.3.28-7 Obsoletes: php-pecl-hash < %{hashver} %description hash @@ -904,6 +943,7 @@ Requires: %{_libdir}/gconv Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: iconv Provides: php(iconv) +Obsoletes: php-iconv < 4:5.3.28-7 %description iconv This is a dynamic shared object (DSO) for PHP that will add iconv @@ -922,6 +962,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pcre = %{epoch}:%{version}-%{release} Requires: imap-lib >= 1:2007e-2 Provides: php(imap) +Obsoletes: php-imap < 4:5.3.28-7 %description imap This is a dynamic shared object (DSO) for PHP that will add IMAP @@ -938,9 +979,13 @@ Summary: InterBase/Firebird database module for PHP Summary(pl.UTF-8): Moduł bazy danych InterBase/Firebird dla PHP Group: Libraries URL: http://www.php.net/manual/en/book.ibase.php +%if %{with interbase_inst} +%{?requires_php_extension} +%else Requires: %{name}-common = %{epoch}:%{version}-%{release} +%endif Provides: php(interbase) -%{?with_interbase_inst:Autoreq: false} +Obsoletes: php-interbase < 4:5.3.28-7 %description interbase This is a dynamic shared object (DSO) for PHP that will add InterBase @@ -956,6 +1001,7 @@ Group: Libraries URL: http://www.php.net/intl Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(intl) = %{intlver} +Obsoletes: php-intl < 4:5.3.28-7 Obsoletes: php-pecl-intl < %{intlver} %description intl @@ -977,6 +1023,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.json.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(json) = %{jsonver} +Obsoletes: php-json < 4:5.3.28-7 Obsoletes: php-pecl-json < %{jsonver} %description json @@ -995,6 +1042,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.ldap.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(ldap) +Obsoletes: php-ldap < 4:5.3.28-7 %description ldap This is a dynamic shared object (DSO) for PHP that will add LDAP @@ -1013,6 +1061,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.mbstring.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(mbstring) +Obsoletes: php-mbstring < 4:5.3.28-7 %description mbstring This is a dynamic shared object (DSO) for PHP that will add multibyte @@ -1028,6 +1077,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.mcrypt.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(mcrypt) +Obsoletes: php-mcrypt < 4:5.3.28-7 %description mcrypt This is a dynamic shared object (DSO) for PHP that will add mcrypt @@ -1043,6 +1093,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.mssql.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(mssql) +Obsoletes: php-mssql < 4:5.3.28-7 %description mssql This is a dynamic shared object (DSO) for PHP that will add MS SQL @@ -1061,6 +1112,7 @@ URL: http://www.php.net/manual/en/book.mysql.php Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}} Provides: php(mysql) +Obsoletes: php-mysql < 4:5.3.28-7 %description mysql This is a dynamic shared object (DSO) for PHP that will add MySQL @@ -1081,6 +1133,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}} Requires: %{name}-spl = %{epoch}:%{version}-%{release} Provides: php(mysqli) +Obsoletes: php-mysqli < 4:5.3.28-7 %description mysqli This is a dynamic shared object (DSO) for PHP that will add MySQLi @@ -1099,6 +1152,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.mysqlnd.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(mysqlnd) +Obsoletes: php-mysqlnd < 4:5.3.28-7 %description mysqlnd MySQL Native Driver is a replacement for the MySQL Client Library @@ -1134,9 +1188,9 @@ Summary: Oracle 8+ database module for PHP Summary(pl.UTF-8): Moduł bazy danych Oracle 8+ dla PHP Group: Libraries URL: http://www.php.net/manual/en/book.oci8.php -Requires: %{name}-common = %{epoch}:%{version}-%{release} +%{?requires_php_extension} Provides: php(oci8) -AutoReq: false +Obsoletes: php-oci8 < 4:5.3.28-7 %description oci8 This is a dynamic shared object (DSO) for PHP that will add Oracle 7, @@ -1155,6 +1209,7 @@ URL: http://www.php.net/manual/en/book.uodbc.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: unixODBC >= 2.1.1-3 Provides: php(odbc) +Obsoletes: php-odbc < 4:5.3.28-7 %description odbc This is a dynamic shared object (DSO) for PHP that will add ODBC @@ -1168,6 +1223,7 @@ Um módulo para aplicações PHP que usam ODBC. %package opcache Summary: Zend Optimizer+ - PHP code optimizer +Summary(pl.UTF-8): Zend Optimizer+ - optymalizator kodu PHP Group: Libraries URL: https://wiki.php.net/rfc/optimizerplus Requires: %{name}-common = %{epoch}:%{version}-%{release} @@ -1181,6 +1237,14 @@ 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. +%description opcache -l pl.UTF-8 +Zend OPcache zapewnia szybsze wykonywanie kodu PHP dzięki buforowaniu +i optymalizacji na poziomie opcode'ów. Poprawia wydajność PHP +przechowując prekompilowany bajtkod skryptu w pamięci współdzielonej. +Eliminuje etapy odczytu kodu z dysku i kompilacji przy późniejszym +dostępie. Ponadto wykonuje kilka wzorców optymalizacji bajtkodu, +czyniąc wykonywanie kodu szybszym. + %package openssl Summary: OpenSSL extension module for PHP Summary(pl.UTF-8): Moduł OpenSSL dla PHP @@ -1188,6 +1252,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.openssl.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(openssl) +Obsoletes: php-openssl < 4:5.3.28-7 %description openssl This is a dynamic shared object (DSO) for PHP that will add OpenSSL @@ -1203,6 +1268,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.pcntl.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(pcntl) +Obsoletes: php-pcntl < 4:5.3.28-7 %description pcntl This is a dynamic shared object (DSO) for PHP that will add process @@ -1219,6 +1285,7 @@ Summary(pl.UTF-8): Moduł PCRE dla PHP Group: Libraries Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(pcre) +Obsoletes: php-pcre < 4:5.3.28-7 %description pcre This is a dynamic shared object (DSO) for PHP that will add Perl @@ -1235,7 +1302,9 @@ Group: Libraries URL: http://www.php.net/manual/en/book.pdo.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} +Provides: %{name}(PDO_API) = %{php_pdo_api_version} Provides: php(pdo) +Obsoletes: php-pdo < 4:5.3.28-7 Obsoletes: php-pecl-PDO %description pdo @@ -1253,6 +1322,7 @@ URL: http://www.php.net/manual/en/ref.pdo-dblib.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(dblib) +Obsoletes: php-pdo-dblib < 4:5.3.28-7 %description pdo-dblib This is a dynamic shared object (DSO) for PHP that will add PDO @@ -1270,6 +1340,7 @@ URL: http://www.php.net/manual/en/ref.pdo-firebird.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-firebird) +Obsoletes: php-pdo-firebird < 4:5.3.28-7 Obsoletes: php-pecl-PDO_FIREBIRD %description pdo-firebird @@ -1289,6 +1360,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-mysql) +Obsoletes: php-pdo-mysql < 4:5.3.28-7 Obsoletes: php-pecl-PDO_MYSQL %description pdo-mysql @@ -1304,9 +1376,10 @@ Summary: PHP Data Objects (PDO) Oracle support Summary(pl.UTF-8): Moduł PHP Data Objects (PDO) z obsługą Oracle'a Group: Libraries URL: http://www.php.net/manual/en/ref.pdo-oci.php -Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: %{name}-pdo = %{epoch}:%{version}-%{release} +%{?requires_php_extension} +%{?requires_php_pdo_module} Provides: php(pdo-oci) +Obsoletes: php-pdo-oci < 4:5.3.28-7 Obsoletes: php-pecl-PDO_OCI %description pdo-oci @@ -1325,6 +1398,7 @@ URL: http://www.php.net/manual/en/ref.pdo-odbc.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-odbc) +Obsoletes: php-pdo-odbc < 4:5.3.28-7 Obsoletes: php-pecl-PDO_ODBC %description pdo-odbc @@ -1344,6 +1418,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-pgsql) Provides: php-pecl-PDO_PGSQL +Obsoletes: php-pdo-pgsql < 4:5.3.28-7 Obsoletes: php-pecl-PDO_PGSQL < 4:5.2.1-2 %description pdo-pgsql @@ -1362,6 +1437,7 @@ URL: http://www.php.net/manual/en/ref.pdo-sqlite.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-sqlite) +Obsoletes: php-pdo-sqlite < 4:5.3.28-7 Obsoletes: php-pecl-PDO_SQLITE %description pdo-sqlite @@ -1379,6 +1455,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.pgsql.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(pgsql) +Obsoletes: php-pgsql < 4:5.3.28-7 %description pgsql This is a dynamic shared object (DSO) for PHP that will add PostgreSQL @@ -1402,6 +1479,7 @@ Suggests: %{name}-cli Suggests: %{name}-zlib Provides: php(phar) = %{pharver} Obsoletes: php-pecl-phar < %{pharver} +Obsoletes: php-phar < 4:5.3.28-7 Conflicts: php-ioncube < 4.0.9 %description phar @@ -1418,6 +1496,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.posix.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(posix) +Obsoletes: php-posix < 4:5.3.28-7 %description posix This is a dynamic shared object (DSO) for PHP that will add POSIX @@ -1433,6 +1512,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.pspell.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(pspell) +Obsoletes: php-pspell < 4:5.3.28-7 %description pspell This is a dynamic shared object (DSO) for PHP that will add pspell @@ -1450,6 +1530,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.readline.php Requires: %{name}-cli = %{epoch}:%{version}-%{release} Provides: php(readline) +Obsoletes: php-readline < 4:5.3.28-7 %description readline This PHP module adds support for readline functions (only for cli and @@ -1466,6 +1547,7 @@ URL: http://www.php.net/manual/en/book.recode.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: recode >= 3.5d-3 Provides: php(recode) +Obsoletes: php-recode < 4:5.3.28-7 %description recode This is a dynamic shared object (DSO) for PHP that will add recode @@ -1482,7 +1564,9 @@ Group: Libraries Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} Suggests: %{name}-hash = %{epoch}:%{version}-%{release} +Suggests: tmpwatch Provides: php(session) +Obsoletes: php-session < 4:5.3.28-7 %description session This is a dynamic shared object (DSO) for PHP that will add session @@ -1498,6 +1582,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.shmop.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(shmop) +Obsoletes: php-shmop < 4:5.3.28-7 %description shmop This is a dynamic shared object (DSO) for PHP that will add Shared @@ -1514,6 +1599,7 @@ URL: http://www.php.net/manual/en/book.simplexml.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} Provides: php(simplexml) +Obsoletes: php-simplexml < 4:5.3.28-7 %description simplexml This is a dynamic shared object (DSO) for PHP that will add Simple XML @@ -1531,6 +1617,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-sockets = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} Provides: php(snmp) +Obsoletes: php-snmp < 4:5.3.28-7 %description snmp This is a dynamic shared object (DSO) for PHP that will add SNMP @@ -1546,6 +1633,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.soap.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(soap) +Obsoletes: php-soap < 4:5.3.28-7 %description soap This is a dynamic shared object (DSO) for PHP that will add SOAP/WSDL @@ -1561,6 +1649,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.sockets.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sockets) +Obsoletes: php-sockets < 4:5.3.28-7 %description sockets This is a dynamic shared object (DSO) for PHP that will add sockets @@ -1578,6 +1667,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pcre = %{epoch}:%{version}-%{release} Requires: %{name}-simplexml = %{epoch}:%{version}-%{release} Provides: php(spl) +Obsoletes: php-spl < 4:5.3.28-7 %description spl This is a dynamic shared object (DSO) for PHP that will add Standard @@ -1593,6 +1683,7 @@ Group: Libraries URL: http://php.net/manual/en/book.sqlite3.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sqlite3) = %{sqlite3ver} +Obsoletes: php-sqlite3 < 4:5.3.28-7 %description sqlite3 SQLite is a C library that implements an embeddable SQL database @@ -1622,6 +1713,7 @@ URL: http://www.php.net/manual/en/book.sybase.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sybase-ct) Obsoletes: php-sybase +Obsoletes: php-sybase-ct < 4:5.3.28-7 %description sybase-ct This is a dynamic shared object (DSO) for PHP that will add Sybase and @@ -1638,6 +1730,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.sem.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sysvmsg) +Obsoletes: php-sysvmsg < 4:5.3.28-7 %description sysvmsg This is a dynamic shared object (DSO) for PHP that will add SysV @@ -1653,6 +1746,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.sem.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sysvsem) +Obsoletes: php-sysvsem < 4:5.3.28-7 %description sysvsem This is a dynamic shared object (DSO) for PHP that will add SysV @@ -1668,6 +1762,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.shmop.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sysvshm) +Obsoletes: php-sysvshm < 4:5.3.28-7 %description sysvshm This is a dynamic shared object (DSO) for PHP that will add SysV @@ -1697,6 +1792,7 @@ URL: http://www.php.net/manual/en/book.tidy.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: tidy Provides: php(tidy) +Obsoletes: php-tidy < 4:5.3.28-7 %description tidy This is a dynamic shared object (DSO) for PHP that will add Tidy @@ -1712,6 +1808,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.tokenizer.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(tokenizer) +Obsoletes: php-tokenizer < 4:5.3.28-7 %description tokenizer This is a dynamic shared object (DSO) for PHP that will add tokenizer @@ -1732,6 +1829,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} #Requires: %{name}-session = %{epoch}:%{version}-%{release} Requires: %{name}-xml = %{epoch}:%{version}-%{release} Provides: php(wddx) +Obsoletes: php-wddx < 4:5.3.28-7 %description wddx This is a dynamic shared object (DSO) for PHP that will add wddx @@ -1747,6 +1845,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.xml.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(xml) +Obsoletes: php-xml < 4:5.3.28-7 %description xml This is a dynamic shared object (DSO) for PHP that will add XML @@ -1764,8 +1863,9 @@ Summary(pl.UTF-8): Moduł XML Reader dla PHP Group: Libraries URL: http://www.php.net/manual/en/book.xmlreader.php Requires: %{name}-common = %{epoch}:%{version}-%{release} -Suggests: %{name}-dom = %{epoch}:%{version}-%{release} +Requires: %{name}-dom = %{epoch}:%{version}-%{release} Provides: php(xmlreader) +Obsoletes: php-xmlreader < 4:5.3.28-7 %description xmlreader This is a dynamic shared object (DSO) for PHP that will add XML Reader @@ -1786,6 +1886,7 @@ URL: http://www.php.net/manual/en/book.xmlrpc.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-xml = %{epoch}:%{version}-%{release} Provides: php(xmlrpc) +Obsoletes: php-xmlrpc < 4:5.3.28-7 %description xmlrpc This is a dynamic shared object (DSO) for PHP that will add XMLRPC @@ -1802,6 +1903,7 @@ URL: http://www.php.net/manual/en/book.xmlwriter.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(xmlwriter) Obsoletes: php-pecl-xmlwriter +Obsoletes: php-xmlwriter < 4:5.3.28-7 %description xmlwriter This extension wraps the libxml xmlWriter API. Represents a writer @@ -1821,8 +1923,9 @@ URL: http://www.php.net/manual/en/book.xsl.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-dom = %{epoch}:%{version}-%{release} Requires: libxslt >= 1.0.18 -# actually not true, functionality is similar, but API differs Provides: php(xsl) +Obsoletes: php-xsl < 4:5.3.28-7 +# actually not true, functionality is similar, but API differs Obsoletes: php-xslt <= 3:4.3.8-1 %description xsl @@ -1841,6 +1944,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_system_libzip:Requires: libzip >= 0.10.1-2} Provides: php(zip) = %{zipver} Obsoletes: php-pecl-zip < %{zipver} +Obsoletes: php-zip < 4:5.3.28-7 %description zip Zip is an extension to create, modify and read zip files. @@ -1856,6 +1960,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.zlib.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(zlib) +Obsoletes: php-zlib < 4:5.3.28-7 %description zlib This is a dynamic shared object (DSO) for PHP that will add zlib @@ -1865,7 +1970,8 @@ compression support to PHP. Moduł PHP umożliwiający używanie kompresji zlib. %prep -%setup -q -n %{orgname}-%{version} +%setup -q -n %{orgname}-%{version}%{?subver} +cp -p php.ini-production php.ini %patch0 -p1 %patch1 -p1 %patch2 -p1 @@ -1873,10 +1979,9 @@ Moduł PHP umożliwiający używanie kompresji zlib. %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch8 -p1 %patch7 -p1 +%patch8 -p1 %patch9 -p1 -cp -p php.ini-production php.ini %patch10 -p1 %if %{with type_hints} %patch12 -p0 @@ -1884,9 +1989,6 @@ cp -p php.ini-production php.ini %patch14 -p1 %patch17 -p1 %patch18 -p1 -%if %{with system_gd} -%patch19 -p1 -%endif %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -1904,6 +2006,7 @@ cp -p php.ini-production php.ini %patch38 -p1 %patch39 -p1 %if %{with fpm} +%patch69 -p1 %patch41 -p1 %patch42 -p1 %endif @@ -1926,6 +2029,8 @@ cp -p php.ini-production php.ini %patch63 -p1 %{?with_system_libzip:%patch65 -p1} %patch66 -p1 +%patch67 -p1 +%patch70 -p1 sed -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4 @@ -1950,6 +2055,7 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f #%{__rm} -r ext/soap/interop %{__rm} -r ext/xmlrpc/libxmlrpc #%{__rm} -r ext/zip/lib +%{__rm} ext/date/lib/timezonedb.h cp -pf Zend/LICENSE{,.Zend} install -p %{SOURCE13} dep-tests.sh @@ -2022,6 +2128,12 @@ if [ $API != %{zend_extension_api} ]; then exit 1 fi +API=$(awk '/#define PDO_DRIVER_API/{print $3}' ext/pdo/php_pdo_driver.h) +if [ $API != %{php_pdo_api_version} ]; then + echo "Set %%define php_pdo_api_version to $API and re-run." + 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 @@ -2041,7 +2153,7 @@ if test "$ver" != "%{sqlite3ver}"; then : Update the sqlite3ver macro and rebuild. exit 1 fi -ver=$(sed -n '/#define PHP_ZIP_VERSION_STRING /{s/.* "//;s/".*$//;p}' ext/zip/php_zip.h) +ver=$(sed -n '/#define PHP_ZIP_VERSION /{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. @@ -2053,12 +2165,18 @@ if test "$ver" != "%{jsonver}"; then : Update the jsonver macro and rebuild. exit 1 fi -ver=$(sed -n '/#define ACCELERATOR_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h) +ver=$(sed -n '/#define PHP_ZENDOPCACHE_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h) if test "$ver" != "%{opcachever}"; then - : Error: Upstream Zend Opcachge version is now ${ver}, expecting %{opcachever}. + : Error: Upstream Zend Opcache version is now ${ver}, expecting %{opcachever}. : Update the opcachever macro and rebuild. exit 1 fi +ver=$(sed -n '/#define PHPDBG_VERSION /{s/.* "//;s/".*$//;p}' sapi/phpdbg/phpdbg.h) +if test "$ver" != "%{phpdbgver}"; then + : Error: Upstream phpdbg version is now ${ver}, expecting %{phpdbgver}. + : Update the phpdbgver macro and rebuild. + exit 1 +fi ver=$(sed -rne 's,.*(.+),\1,p' ext/bz2/package.xml) if test "$ver" != "%{bz2ver}"; then : Error: Upstream BZIP2 version is now ${ver}, expecting %{bz2ver}. @@ -2088,7 +2206,7 @@ export EXTENSION_DIR="%{php_extensiondir}" # configure once (for faster debugging purposes) if [ ! -f _built-conf ]; then # now remove Makefile copies - rm -f Makefile.{cgi-fcgi,fpm,cli,apxs1,apxs2,litespeed} + rm -f Makefile.{cgi-fcgi,fpm,cli,apxs1,apxs2,litespeed,phpdbg,milter} %{__libtoolize} %{__aclocal} cp -f /usr/share/automake/config.* . @@ -2119,6 +2237,12 @@ apxs1 %if %{with apache2} apxs2 %endif +%if %{with phpdbg} +phpdbg +%endif +%if %{with milter} +milter +%endif " for sapi in $sapis; do : SAPI $sapi @@ -2134,21 +2258,27 @@ for sapi in $sapis; do sapi_args='--disable-cgi %{?with_gcov:--enable-gcov}' ;; fpm) - sapi_args='--disable-cli --enable-fpm' + sapi_args='--disable-cli --disable-cgi --enable-fpm' ;; embed) - sapi_args='--disable-cli --enable-embed' + sapi_args='--disable-cli --disable-cgi --enable-embed' ;; apxs1) ver=$(rpm -q --qf '%{V}' apache1-devel) - sapi_args="--disable-cli --with-apxs=%{apxs1} --with-apache-version=$ver" + sapi_args="--disable-cli --disable-cgi --with-apxs=%{apxs1} --with-apache-version=$ver" ;; apxs2) ver=$(rpm -q --qf '%{V}' apache-devel) - sapi_args="--disable-cli --with-apxs2=%{apxs2} --with-apache-version=$ver" + sapi_args="--disable-cli --disable-cgi --with-apxs2=%{apxs2} --with-apache-version=$ver" ;; litespeed) - sapi_args='--with-litespeed' + sapi_args='--disable-cli --disable-cgi --with-litespeed' + ;; + phpdbg) + sapi_args='--disable-cli --disable-cgi --enable-phpdbg %{?debug:--enable-phpdbg-debug}' + ;; + milter) + sapi_args='--disable-cli --disable-cgi --with-milter' ;; esac @@ -2195,7 +2325,7 @@ for sapi in $sapis; do %{?with_mhash:--with-mhash=yes} \ --with-mysql-sock=/var/lib/mysql/mysql.sock \ --with-pdo-mysql=shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd} \ - %{?with_oci8:--with-pdo-oci=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ + %{?with_oci:--with-pdo-oci=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ %{?with_odbc:--with-pdo-odbc=shared,unixODBC,/usr} \ %{?with_pgsql:--with-pdo-pgsql=shared} \ %{?with_pdo_sqlite:--with-pdo-sqlite=shared,/usr} \ @@ -2235,7 +2365,7 @@ for sapi in $sapis; do %{?with_mysqlnd:--enable-mysqlnd=shared} \ --with-mysql=shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd} \ %{?with_mysqli:--with-mysqli=shared,%{!?with_mysqlnd:/usr/bin/mysql_config}%{?with_mysqlnd:mysqlnd}} \ - %{?with_oci8:--with-oci8=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ + %{?with_oci:--with-oci8=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ %{?with_opcache:--enable-opcache=shared} \ %{?with_openssl:--with-openssl=shared} \ %{?with_kerberos5:--with-kerberos} \ @@ -2278,7 +2408,9 @@ sapis=$(%{__sed} -rne 's/^PHP_INSTALLED_SAPIS = (.+)/\1/p' Makefile.* | tr ' ' ' cp -af php_config.h.cli main/php_config.h cp -af Makefile.cli Makefile %{__make} libphp_common.la -%{__make} build-modules +# hack: MYSQLND_SHARED_LIBADD not initialized +%{__make} build-modules \ + MYSQLND_SHARED_LIBADD="-lssl -lcrypto" %if %{with apache1} %{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache/libphp5.la -f Makefile.apxs1 @@ -2289,7 +2421,21 @@ cp -af Makefile.cli Makefile %endif %if %{with litespeed} -%{__make} -f Makefile.litespeed +%{__make} -f Makefile.litespeed litespeed +%endif + +%if %{with embed} +%{__make} -f Makefile.embed libphp5.la +%endif + +%if %{with phpdbg} +# PHP_READLINE_LIBS is empty, so force readline here +%{__make} -f Makefile.phpdbg phpdbg \ + PHPDBG_EXTRA_LIBS=-lreadline +%endif + +%if %{with milter} +%{__make} -f Makefile.milter milter %endif # CGI/FCGI @@ -2375,7 +2521,8 @@ chmod +x run-tests.sh cp -pf php_config.h.cli main/php_config.h cp -pf Makefile.cli Makefile -./run-tests.sh -w failed.log -s tests.log +./run-tests.sh -w failed.log -s tests.log || { +rc=$? # collect failed tests into cleanup script used in prep. sed -ne '/^FAILED TEST SUMMARY/,/^===/p' tests.log | sed -e '1,/^---/d;/^===/,$d' > tests-failed.log @@ -2386,6 +2533,8 @@ sed -ne '/^via/d;/\[.*\]/{s/\t*\(.*\) \[\(.*\)\]\(.*\)/# \1\3\nmv \2{,.skip}/p}' tty -q || cat tests.log test ! -s failed.log +exit $rc +} %endif %install @@ -2398,6 +2547,7 @@ install -d $RPM_BUILD_ROOT{%{_libdir}/{php,apache{,1}},%{_sysconfdir}/{apache,cg cp -pf php_config.h.cli main/php_config.h cp -pf Makefile.cli Makefile %{__make} install \ + phpbuilddir=%{_libdir}/%{name}/build \ INSTALL_ROOT=$RPM_BUILD_ROOT # make link relative @@ -2425,6 +2575,16 @@ ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.so libtool --mode=install install -p sapi/litespeed/php $RPM_BUILD_ROOT%{_sbindir}/%{name}.litespeed %endif +%if %{with phpdbg} +%{__make} -f Makefile.phpdbg install-phpdbg \ + INSTALL_ROOT=$RPM_BUILD_ROOT +%endif + +%if %{with milter} +%{__make} -f Makefile.milter install-milter \ + INSTALL_ROOT=$RPM_BUILD_ROOT +%endif + libtool --mode=install install -p libphp_common.la $RPM_BUILD_ROOT%{_libdir} # install CGI/FCGI @@ -2441,6 +2601,7 @@ install -d $RPM_BUILD_ROOT{%{_sysconfdir}/fpm.d,%{_sbindir}} libtool --mode=install install -p sapi/fpm/php-fpm $RPM_BUILD_ROOT%{_sbindir}/%{name}-fpm cp -p sapi/fpm/php-fpm.8 $RPM_BUILD_ROOT%{_mandir}/man8/%{name}-fpm.8 cp -p sapi/fpm/php-fpm.conf $RPM_BUILD_ROOT%{_sysconfdir} +cp -p sapi/fpm/php-fpm.conf-d $RPM_BUILD_ROOT%{_sysconfdir}/fpm.d/www.conf install -d $RPM_BUILD_ROOT/etc/rc.d/init.d install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-fpm install -d $RPM_BUILD_ROOT/etc/logrotate.d @@ -2450,14 +2611,15 @@ cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-fpm s#/usr/lib/php#%{php_extensiondir}# s#/etc/php#%{_sysconfdir}# s#@processname@#%{name}-fpm#g -' $RPM_BUILD_ROOT{/etc/{rc.d/init.d/%{name}-fpm,logrotate.d/%{name}-fpm},%{_sysconfdir}/php-fpm.conf} +' $RPM_BUILD_ROOT{/etc/{rc.d/init.d/%{name}-fpm,logrotate.d/%{name}-fpm},%{_sysconfdir}/php-fpm.conf,%{_sysconfdir}/fpm.d/www.conf} %endif # install Embedded API %if %{with embed} -%{__make} -f Makefile.embed install-sapi INSTALL_ROOT=$RPM_BUILD_ROOT # we could use install-headers from Makefile.embed, but that would reinstall all headers +# install-sapi installs to wrong dir, so just do it all manually install -d $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed +install -p libs/libphp5.so $RPM_BUILD_ROOT%{_libdir} cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed %endif @@ -2509,12 +2671,13 @@ install -d $RPM_BUILD_ROOT%{_sysconfdir}/{cgi-fcgi,cli,apache,apache2handler}.d mv $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/readline.ini,cli.d} # use system automake and {lib,sh}tool -ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/php/build -for i in libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4; do - ln -snf %{_aclocaldir}/${i} $RPM_BUILD_ROOT%{_libdir}/php/build -done -ln -snf %{_datadir}/libtool/config/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/php/build -ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/php/build + ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build + for i in libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4; do + ln -snf %{_aclocaldir}/${i} $RPM_BUILD_ROOT%{_libdir}/%{name}/build + done + ln -snf %{_datadir}/libtool/config/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/%{name}/build +ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/%{name}/build +sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize # for php-pecl-mailparse install -d $RPM_BUILD_ROOT%{_includedir}/php/ext/mbstring @@ -2527,12 +2690,8 @@ cp -a tests/* $RPM_BUILD_ROOT%{php_data_dir}/tests/php # fix install paths, avoid evil rpaths sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_common.la -%if %{with embed} -# libphp5.la contains our buildroot in dependency_libs -sed -i -e "/dependency_libs/ s,/[^ ]*/libs/libphp_common.la,%{_libdir}/libphp_common.la," $RPM_BUILD_ROOT%{_libdir}/libphp5.la -%endif # better solution? -sed -i -e 's|libphp_common.la|$(libdir)/libphp_common.la|' $RPM_BUILD_ROOT%{_libdir}/php/build/acinclude.m4 +sed -i -e 's|libphp_common.la|$(libdir)/libphp_common.la|' $RPM_BUILD_ROOT%{_libdir}/%{name}/build/acinclude.m4 %clean rm -rf $RPM_BUILD_ROOT @@ -2602,6 +2761,27 @@ fi [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart [ ! -f /etc/httpd/conf.d/??_mod_php.conf ] || %service -q httpd restart +%triggerpostun common -- php-common < 4:5.3.28-7 +# migrate configs /etc/php/conf.d -> /etc/phpXY/conf.d/ +# do config migration in php-common trigger, as the trigger is ran after all packages are upgraded +# this way we can stick to one trigger, instead of attaching one for each (sub)package! +for f in /etc/php/*.ini.rpmsave /etc/php/*.d/*.ini.rpmsave; do + test -f "$f" || continue + bn=${f#/etc/php/} + dn=${bn%/*} + fn=${bn#*/} + test "$dn" = "$fn" && dn= + fn=${fn%.rpmsave} + nf=%{_sysconfdir}/$dn/$fn + test -f "$nf" || continue + cp -vf $nf{,.rpmnew} + mv -vf $f $nf + %{__sed} -i -e ' + s#%{_libdir}/php#%{_libdir}/%{name}# + s#/etc/php#%{_sysconfdir}# + ' $nf +done + # common macros called at extension post/postun scriptlet %define extension_scripts() \ %post %1 \ @@ -2724,7 +2904,7 @@ fi %if %{with embed} %files embedded %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libphp5-%{version}.so +%attr(755,root,root) %{_libdir}/libphp5.so %endif %files cli @@ -2745,15 +2925,29 @@ fi %doc sapi/fpm/{CREDITS,LICENSE} %dir %{_sysconfdir}/fpm.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpm.d/www.conf %attr(755,root,root) %{_sbindir}/%{name}-fpm %{_mandir}/man8/%{name}-fpm.8* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-fpm %attr(754,root,root) /etc/rc.d/init.d/%{name}-fpm %endif +%if %{with phpdbg} +%files phpdbg +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/phpdbg +%{_mandir}/man1/phpdbg.1* +%endif + +%if %{with milter} +%files milter +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/php-milter +%endif + %files common %defattr(644,root,root,755) -%doc CREDITS EXTENSIONS LICENSE NEWS README.{PHP4-TO-PHP5-THIN-CHANGES,namespaces} UPGRADING* Zend/{LICENSE.Zend,ZEND_CHANGES} php.ini-* +%doc CREDITS EXTENSIONS LICENSE NEWS README.namespaces UPGRADING* Zend/{LICENSE.Zend,ZEND_CHANGES} php.ini-* %dir %{_sysconfdir} %dir %{_sysconfdir}/conf.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini @@ -2765,20 +2959,15 @@ fi %files devel %defattr(644,root,root,755) -%doc CODING_STANDARDS README.{EXTENSIONS,EXT_SKEL,PARAMETER_PARSING_API,SELF-CONTAINED-EXTENSIONS,STREAMS,SUBMITTING_PATCH,TESTING,TESTING2,UNIX-BUILD-SYSTEM,input_filter} +%doc CODING_STANDARDS README.{EXT_SKEL,PARAMETER_PARSING_API,SELF-CONTAINED-EXTENSIONS,STREAMS,SUBMITTING_PATCH,TESTING,TESTING2,UNIX-BUILD-SYSTEM,input_filter} %attr(755,root,root) %{_bindir}/phpize %attr(755,root,root) %{_bindir}/php-config %attr(755,root,root) %{_libdir}/libphp_common.so %{_libdir}/libphp_common.la %{_includedir}/php -%{_libdir}/php/build +%{_libdir}/%{name}/build %{_mandir}/man1/php-config.1* %{_mandir}/man1/phpize.1* -%if %{with embed} -# embedded -%{_libdir}/libphp5.so -%{_libdir}/libphp5.la -%endif %files bcmath %defattr(644,root,root,755) @@ -2820,6 +3009,7 @@ fi %files dom %defattr(644,root,root,755) %doc ext/dom/{CREDITS,TODO} +%doc ext/dom/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/dom.ini %attr(755,root,root) %{php_extensiondir}/dom.so @@ -2967,7 +3157,7 @@ fi %attr(755,root,root) %{php_extensiondir}/mysqlnd.so %endif -%if %{with oci8} +%if %{with oci} %files oci8 %defattr(644,root,root,755) %doc ext/oci8/{CREDITS,README} @@ -3041,7 +3231,7 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_mysql.ini %attr(755,root,root) %{php_extensiondir}/pdo_mysql.so -%if %{with oci8} +%if %{with oci} %files pdo-oci %defattr(644,root,root,755) %doc ext/pdo_oci/CREDITS @@ -3089,6 +3279,8 @@ fi %attr(755,root,root) %{php_extensiondir}/phar.so %attr(755,root,root) %{_bindir}/phar %attr(755,root,root) %{_bindir}/phar.phar +%{_mandir}/man1/phar.1* +%{_mandir}/man1/phar.phar.1 %endif %files posix @@ -3135,6 +3327,7 @@ fi %files simplexml %defattr(644,root,root,755) %doc ext/simplexml/{CREDITS,README} +%doc ext/simplexml/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/simplexml.ini %attr(755,root,root) %{php_extensiondir}/simplexml.so @@ -3160,7 +3353,8 @@ fi %files spl %defattr(644,root,root,755) -%doc ext/spl/{CREDITS,README,TODO,examples} +%doc ext/spl/{CREDITS,README,TODO} +%doc ext/spl/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/SPL.ini %attr(755,root,root) %{php_extensiondir}/spl.so @@ -3217,6 +3411,7 @@ fi %files tidy %defattr(644,root,root,755) %doc ext/tidy/{CREDITS,README} +%doc ext/tidy/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/tidy.ini %attr(755,root,root) %{php_extensiondir}/tidy.so %endif @@ -3243,7 +3438,8 @@ fi %files xmlreader %defattr(644,root,root,755) -%doc ext/xmlreader/{CREDITS,README,TODO,examples} +%doc ext/xmlreader/{CREDITS,README,TODO} +%doc ext/xmlreader/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xmlreader.ini %attr(755,root,root) %{php_extensiondir}/xmlreader.so @@ -3258,6 +3454,7 @@ fi %files xmlwriter %defattr(644,root,root,755) %doc ext/xmlwriter/{CREDITS,TODO} +%doc ext/xmlwriter/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xmlwriter.ini %attr(755,root,root) %{php_extensiondir}/xmlwriter.so @@ -3270,6 +3467,7 @@ fi %files zip %defattr(644,root,root,755) %doc ext/zip/{CREDITS,TODO} +%doc ext/zip/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/zip.ini %attr(755,root,root) %{php_extensiondir}/zip.so