X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=php.spec;h=13ab3df51524fd36e661b163dce85b327f1a307b;hb=24cbb89ea14d9538b2d5c02cffd0d09513540c43;hp=2d8d9423246d20a50173c7df1e49b5829e5be23c;hpb=0282b86ee4b2cbb09c054d413718fb81a7f1df3a;p=packages%2Fphp.git diff --git a/php.spec b/php.spec index 2d8d942..13ab3df 100644 --- a/php.spec +++ b/php.spec @@ -1,13 +1,12 @@ -# 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: -# - 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. -# 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: @@ -17,16 +16,8 @@ # - 13K fileinfo.so php-pecl-fileinfo-1.0.4-8.amd64 # - ttyname_r() misdetected http://bugs.php.net/bug.php?id=48820 # - wddx: restore session support (not compiled in due DL extension check) -# - deal with modules removed from php and not moved to PECL, still not obsoleted anywhere -# - removed from php 5.0 (currently in php4): -# db [pecl-svn], hyperwave [pecl-svn], java [pecl-svn], mcal [pecl-svn], qtdom [pecl-svn] -# - removed from php 5.1: -# oracle [pecl-svn] -# - removed from php 5.2: -# filepro [pecl-svn], hwapi [pecl-svn] # - make additional headers and checking added by mail patch configurable # - modularize standard (output from pure php -m)? -# - lib64 patch obsolete by $PHP_LIBDIR ? # - WARNING: Phar: sha256/sha512 signature support disabled if ext/hash is # built shared, also PHAR_HAVE_OPENSSL is false if openssl is built shared. # make it runtime dep and add Suggests (or php warning messages) @@ -38,33 +29,52 @@ #+ereg # libxml # Reflection +# standard # # Conditional build: -%bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs) -%bcond_with oci8 # with Oracle oci8 extension module (BR: proprietary libs) +# - General options: +%bcond_without embed # disable building Embedded API +%bcond_with default_php # use this PHP as default PHP in distro +%bcond_with gcov # Enable Code coverage reporting %bcond_without instantclient # build Oracle oci8 extension module against oracle-instantclient package +%bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs) +%bcond_without kerberos5 # without Kerberos5 support +%bcond_with mm # without mm support for session storage +%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 system_gd # with system gd (imageantialias function is missing then) %bcond_with system_libzip # with system libzip (reported broken currently) -%bcond_without default_php # use this PHP as default PHP in distro +%bcond_with systemtap # systemtap/DTrace support +%bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test" +%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp) +%bcond_with zts # Zend Thread Safety +# - SAPI +%bcond_without apache1 # disable building Apache 1.3.x SAPI +%bcond_without apache2 # disable building Apache 2.x SAPI +%bcond_without cgi # disable CGI/FCGI SAPI +%bcond_without fpm # disable FPM SAPI +%bcond_without litespeed # build litespeed SAPI +%bcond_with milter # disable Milter SAPI +%bcond_without phpdbg # disable phpdbg SAPI +# - Extensions %bcond_without curl # without CURL extension module %bcond_without enchant # without Enchant extension module +%bcond_without ereg # without ext/ereg support %bcond_without filter # without filter extension module %bcond_without imap # without IMAP extension module %bcond_without interbase # without InterBase extension module %bcond_without intl # without Intl extension module -%bcond_without kerberos5 # without Kerberos5 support -%bcond_without litespeed # build litespeed module %bcond_without ldap # without LDAP extension module %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 mysql # without ext/mysql support %bcond_without mysqli # without mysqli support (Requires mysql > 4.1) +%bcond_without mysqlnd # without mysqlnd support in mysql related extensions +%bcond_with oci # with Oracle oci8 extension module (BR: proprietary libs) %bcond_without odbc # without ODBC extension module %bcond_without opcache # without Enable Zend OPcache extension support %bcond_without openssl # without OpenSSL support and OpenSSL extension (module) %bcond_without pcre # without PCRE extension module +%bcond_without pdo_dblib # without PDO dblib extension module %bcond_without pdo_sqlite # without PDO SQLite extension module %bcond_without pgsql # without PostgreSQL extension module %bcond_without phar # without phar extension module @@ -75,19 +85,8 @@ %bcond_without sqlite3 # without SQLite3 extension module %bcond_without sybase_ct # without Sybase-CT extension module %bcond_without tidy # without Tidy extension module -%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp) %bcond_without wddx # without WDDX extension module %bcond_without xmlrpc # without XML-RPC extension module -%bcond_without apache1 # disable building Apache 1.3.x SAPI -%bcond_without apache2 # disable building Apache 2.x SAPI -%bcond_with zts # Zend Thread Safety -%bcond_without cgi # disable CGI/FCGI SAPI -%bcond_without fpm # disable FPM -%bcond_without embed # disable Embedded API -%bcond_without suhosin # with suhosin patch -%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 %define apxs1 /usr/sbin/apxs1 %define apxs2 /usr/sbin/apxs @@ -105,12 +104,17 @@ %undefine with_mm %endif -%ifnarch %{ix86} %{x8664} sparc sparcv9 alpha +# milter requires ZTS +%if %{with milter} && %{without zts} +%undefine with_milter +%endif + +%ifnarch %{ix86} %{x8664} x32 sparc sparcv9 alpha # ppc disabled (broken on th-ppc) %undefine with_interbase %endif -%ifnarch %{ix86} %{x8664} +%ifnarch %{ix86} %{x8664} x32 # unsupported, see sapi/cgi/fpm/fpm_atomic.h %undefine with_fpm %endif @@ -128,7 +132,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 @@ -137,19 +141,20 @@ 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.12 -Release: %{rel}%{?with_type_hints:.th}%{?with_oci8:.oci} +Version: 5.6.9 +Release: %{rel} Epoch: 4 -License: PHP +# All files licensed under PHP version 3.01, except +# Zend is licensed under Zend +# TSRM is licensed under BSD +License: PHP 3.01 and Zend and BSD Group: Libraries Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.xz -# Source0-md5: 3fb091987063135fd86b3b5ba5010479 +# Source0-md5: f6b90cd0503310c38e9573bae1eb38c7 Source2: %{orgname}-mod_%{orgname}.conf Source3: %{orgname}-cgi-fcgi.ini Source4: %{orgname}-apache.ini Source5: %{orgname}-cli.ini -# Taken from: http://browsers.garykeith.com/downloads.asp -Source9: %{orgname}_browscap.ini Source10: %{orgname}-fpm.init Source11: %{orgname}-fpm.logrotate Source12: %{orgname}-branch.sh @@ -159,20 +164,16 @@ Patch0: %{orgname}-shared.patch Patch1: %{orgname}-pldlogo.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: 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 Patch17: %{orgname}-readline.patch Patch18: %{orgname}-nohttpd.patch -Patch20: %{orgname}-uint32_t.patch Patch21: %{orgname}-dba-link.patch Patch22: %{orgname}-both-apxs.patch Patch23: %{orgname}-builddir.patch @@ -203,12 +204,12 @@ Patch55: bug-52078-fileinode.patch Patch59: %{orgname}-systzdata.patch Patch60: %{orgname}-oracle-instantclient.patch Patch62: mcrypt-libs.patch -Patch63: %{orgname}-mysql-nowarning.patch Patch65: system-libzip.patch Patch66: php-db.patch Patch67: mysql-lib-ver-mismatch.patch - Patch69: fpm-conf-split.patch +Patch70: mysqlnd-ssl.patch +Patch71: libvpx2.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} @@ -226,10 +227,10 @@ BuildRequires: elfutils-devel %{!?with_mysqlnd:BuildRequires: mysql-devel} BuildRequires: pkgconfig BuildRequires: sed >= 4.0 -%if %{with mssql} || %{with sybase_ct} +%if %{with mssql} || %{with sybase_ct} || %{with pdo_dblib} BuildRequires: freetds-devel >= 0.82 %endif -BuildRequires: freetype-devel >= 2.5.1 +BuildRequires: freetype-devel >= 1:2.5.1 %if %{with system_gd} BuildRequires: gd-devel >= 2.1 %endif @@ -258,7 +259,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_oci8:%{?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 @@ -269,6 +270,7 @@ BuildRequires: readline-devel BuildRequires: rpm >= 4.4.9-56 BuildRequires: rpm-build >= 4.4.0 BuildRequires: rpmbuild(macros) >= 1.566 +%{?with_systemtap:BuildRequires: systemtap-sdt-devel} BuildRequires: tar >= 1:1.22 BuildRequires: xz %if %{with sqlite3} || %{with pdo_sqlite} @@ -294,9 +296,10 @@ 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 @@ -308,16 +311,17 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %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.5 +%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 @@ -379,12 +383,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} @@ -401,6 +405,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} @@ -416,6 +421,7 @@ 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. @@ -432,6 +438,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 %if "%{pld_release}" != "ac" Conflicts: logrotate < 3.8.0 @@ -448,6 +455,7 @@ 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-cli < 4:5.3.28-7 %description cli PHP as CLI interpreter. @@ -460,6 +468,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 @@ -475,6 +484,7 @@ Summary(pl.UTF-8): Dowiązanie symboliczne /usr/bin/php Group: Development/Languages/PHP Requires: %{name}-cli = %{epoch}:%{version}-%{release} Obsoletes: /usr/bin/php +Obsoletes: php-program < 4:5.3.28-7 %description program Package providing /usr/bin/php symlink to PHP CLI. @@ -496,6 +506,7 @@ 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. @@ -503,6 +514,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 @@ -517,22 +544,24 @@ 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 Provides: %{name}-date -Provides: %{name}-ereg +%{?with_ereg:Provides: %{name}-ereg} Provides: %{name}-reflection Provides: %{name}-standard Provides: php(core) = %{version} Provides: php(date) -Provides: php(ereg) +%{?with_ereg:Provides: php(ereg)} 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} +Suggests: browscap +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 @@ -569,12 +598,14 @@ Requires: libtool %endif %{?with_pcre:Requires: pcre-devel >= 8.10} Requires: shtool +Provides: php-devel = %{epoch}:%{version}-%{release} Obsoletes: php-devel 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. @@ -616,6 +647,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 @@ -634,6 +666,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} @@ -651,6 +684,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 @@ -666,6 +700,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 @@ -681,6 +716,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 @@ -696,6 +732,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 @@ -715,6 +752,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 @@ -731,6 +769,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 @@ -760,6 +799,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 @@ -776,6 +816,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} @@ -802,6 +843,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 @@ -825,6 +867,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 @@ -844,6 +887,7 @@ Requires: gd >= 2.1 Requires: gd(gif) %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 @@ -860,6 +904,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 @@ -875,6 +920,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 @@ -896,6 +942,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 @@ -915,6 +962,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 @@ -933,6 +981,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 @@ -949,9 +998,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 @@ -967,6 +1020,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 @@ -988,6 +1042,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 @@ -1006,6 +1061,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 @@ -1024,6 +1080,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 @@ -1039,6 +1096,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 @@ -1054,6 +1112,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 @@ -1072,6 +1131,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 @@ -1092,6 +1152,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 @@ -1110,6 +1171,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 @@ -1145,9 +1207,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, @@ -1166,6 +1228,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 @@ -1208,6 +1271,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 @@ -1223,6 +1287,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 @@ -1239,6 +1304,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 @@ -1255,7 +1321,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 @@ -1273,6 +1341,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 @@ -1290,6 +1359,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 @@ -1309,6 +1379,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 @@ -1324,9 +1395,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 @@ -1345,6 +1417,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 @@ -1364,6 +1437,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 @@ -1382,6 +1456,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 @@ -1399,6 +1474,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 @@ -1422,6 +1498,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 @@ -1438,6 +1515,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 @@ -1453,6 +1531,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 @@ -1470,6 +1549,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 @@ -1486,6 +1566,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 @@ -1504,6 +1585,7 @@ 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 @@ -1519,6 +1601,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 @@ -1535,6 +1618,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 @@ -1552,6 +1636,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 @@ -1567,6 +1652,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 @@ -1582,6 +1668,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 @@ -1599,6 +1686,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 @@ -1614,6 +1702,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 @@ -1643,6 +1732,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 @@ -1659,6 +1749,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 @@ -1674,6 +1765,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 @@ -1689,6 +1781,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 @@ -1718,6 +1811,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 @@ -1733,6 +1827,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 @@ -1753,6 +1848,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 @@ -1768,6 +1864,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 @@ -1785,8 +1882,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 @@ -1807,6 +1905,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 @@ -1823,6 +1922,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 @@ -1843,6 +1943,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-dom = %{epoch}:%{version}-%{release} Requires: libxslt >= 1.0.18 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 @@ -1862,6 +1963,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. @@ -1877,6 +1979,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 @@ -1886,25 +1989,21 @@ 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 %patch3 -p1 -%patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 - -cp -p php.ini-production php.ini +%patch8 -p1 +%patch9 -p1 %patch10 -p1 -%if %{with type_hints} -%patch12 -p0 -%endif %patch14 -p1 %patch17 -p1 %patch18 -p1 -%patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 @@ -1923,6 +2022,20 @@ cp -p php.ini-production php.ini %patch38 -p1 %patch39 -p1 %if %{with fpm} +%if 0 +# create split php-fpm.conf patch. review (restore other diffs) and commit +cp sapi/fpm/php-fpm.conf.in{,.orig} +%{__sed} -n -e '/; Start a new pool named/,$p' sapi/fpm/php-fpm.conf.in > sapi/fpm/php-fpm.conf-d.in +%{__sed} -i -e '/; Include one or more files/,/include=etc\/fpm\.d/d' sapi/fpm/php-fpm.conf.in +%{__sed} -i -e '/; Start a new pool named/,$d' sapi/fpm/php-fpm.conf.in +set +e +cd .. +diff -u %{orgname}-%{version}/sapi/fpm/php-fpm.conf.in{.orig,} > %{PATCH69} +diff -u /dev/null %{orgname}-%{version}/sapi/fpm/php-fpm.conf-d.in >> %{PATCH69} +exit 1 +%else +%patch69 -p1 +%endif %patch41 -p1 %patch42 -p1 %endif @@ -1942,12 +2055,11 @@ cp -p php.ini-production php.ini %patch59 -p1 %patch60 -p1 %patch62 -p1 -%patch63 -p1 %{?with_system_libzip:%patch65 -p1} %patch66 -p1 %patch67 -p1 - -%patch69 -p1 +%patch70 -p1 +%patch71 -p1 sed -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4 @@ -2023,6 +2135,9 @@ ix86= x8664=: %endif %ifarch %{x8664} ix86=: x8664= \ +%endif +%ifarch x32 +ix86=: x8664=: \ %endif sh -xe %{_sourcedir}/skip-tests.sh @@ -2045,6 +2160,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 @@ -2064,7 +2185,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. @@ -2082,6 +2203,12 @@ if test "$ver" != "%{opcachever}"; then : 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}. @@ -2111,7 +2238,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.* . @@ -2142,6 +2269,12 @@ apxs1 %if %{with apache2} apxs2 %endif +%if %{with phpdbg} +phpdbg +%endif +%if %{with milter} +milter +%endif " for sapi in $sapis; do : SAPI $sapi @@ -2171,7 +2304,13 @@ for sapi in $sapis; do sapi_args="--disable-cli --disable-cgi --with-apxs2=%{apxs2} --with-apache-version=$ver" ;; litespeed) - sapi_args='--disable-cli --disable-cgi --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 @@ -2192,6 +2331,7 @@ for sapi in $sapis; do --enable-ctype=shared \ --enable-dba=shared \ --enable-dom=shared \ + %{?with_systemtap:--enable-dtrace} \ --enable-exif=shared \ --enable-fileinfo=shared \ --enable-ftp=shared \ @@ -2209,7 +2349,7 @@ for sapi in $sapis; do --with-fpm-user=http \ --with-fpm-group=http \ %endif -%if %{with mssql} || %{with sybase_ct} +%if %{with pdo_dblib} --with-pdo-dblib=shared \ %endif %if %{with interbase} && %{without interbase_inst} @@ -2218,7 +2358,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} \ @@ -2256,9 +2396,9 @@ for sapi in $sapis; do %{?with_mm:--with-mm} \ %{?with_mssql:--with-mssql=shared} \ %{?with_mysqlnd:--enable-mysqlnd=shared} \ - --with-mysql=shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd} \ + %{__with_without mysql 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} \ @@ -2272,7 +2412,7 @@ for sapi in $sapis; do %{?with_pspell:--with-pspell=shared} \ --with-readline=shared \ %{?with_recode:--with-recode=shared} \ - --with-regex=system \ + %{__with_without ereg regex system} \ %{?with_snmp:--with-snmp=shared} \ %{?with_sybase_ct:--with-sybase-ct=shared,/usr} \ %{!?with_pdo_sqlite:--without-pdo-sqlite} \ @@ -2301,7 +2441,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 @@ -2319,6 +2461,16 @@ cp -af Makefile.cli Makefile %{__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 %if %{with cgi} cp -pf php_config.h.cgi-fcgi main/php_config.h @@ -2402,7 +2554,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 @@ -2413,6 +2566,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 @@ -2453,6 +2608,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 @@ -2502,9 +2667,7 @@ echo ".so php%{ver_suffix}.1" >$RPM_BUILD_ROOT%{_mandir}/man1/php.1 ln -sf php%{ver_suffix} $RPM_BUILD_ROOT%{_bindir}/php cp -p php.ini $RPM_BUILD_ROOT%{_sysconfdir}/php.ini - cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini -cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/browscap.ini %if %{with apache1} cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/70_mod_php.conf @@ -2535,17 +2698,19 @@ 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 -%if "%{pld_release}" != "ac" - 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 -%else - ln -snf %{_aclocaldir}/libtool.m4 $RPM_BUILD_ROOT%{_libdir}/%{name}/build - ln -snf %{_datadir}/libtool/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/%{name}/build -%endif +ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/%{name}/build +for fn in libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4; do + f=%{_aclocaldir}/$fn + test -f $f || continue + ln -snf $f $RPM_BUILD_ROOT%{_libdir}/%{name}/build +done +for fn in ltmain.sh config/ltmain.sh build-aux/ltmain.sh; do + f=/usr/share/libtool/$fn + test -f $f || continue + ln -snf $f $RPM_BUILD_ROOT%{_libdir}/%{name}/build + break +done sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize # for php-pecl-mailparse @@ -2630,6 +2795,35 @@ 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 + +%triggerpostun common -- %{name}-common < 4:5.6.4-2, php-common < 4:5.6.4-2 +# switch to browscap package if the ini file has original value +%{__sed} -i -e 's#%{_sysconfdir}/browscap.ini#/usr/share/browscap/php_browscap.ini#' %{_sysconfdir}/php.ini +# disable browscap, if optional package not present +if [ ! -e /usr/share/browscap/php_browscap.ini ]; then + %{__sed} -i -e 's#^browscap = /usr/share/browscap/php_browscap.ini#;&#' %{_sysconfdir}/php.ini +fi + # common macros called at extension post/postun scriptlet %define extension_scripts() \ %post %1 \ @@ -2780,13 +2974,25 @@ fi %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 -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/browscap.ini %attr(755,root,root) %{_libdir}/libphp_common-*.so %dir %{php_extensiondir} @@ -2794,7 +3000,7 @@ 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 @@ -2844,6 +3050,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 @@ -2969,11 +3176,13 @@ fi %attr(755,root,root) %{php_extensiondir}/mssql.so %endif +%if %{with mysql} %files mysql %defattr(644,root,root,755) %doc ext/mysql/CREDITS %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mysql.ini %attr(755,root,root) %{php_extensiondir}/mysql.so +%endif %if %{with mysqli} %files mysqli @@ -2991,7 +3200,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} @@ -3043,7 +3252,7 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo.ini %attr(755,root,root) %{php_extensiondir}/pdo.so -%if %{with mssql} || %{with sybase_ct} +%if %{with pdo_dblib} %files pdo-dblib %defattr(644,root,root,755) %doc ext/pdo_dblib/{CREDITS,README} @@ -3065,7 +3274,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 @@ -3161,6 +3370,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 @@ -3186,7 +3396,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 @@ -3243,6 +3454,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 @@ -3269,7 +3481,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 @@ -3284,6 +3497,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 @@ -3296,6 +3510,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