X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=php.spec;h=559829ac495cf7e045f4f1db82485c5a6f7f2fd2;hb=e4b48ef8f618597bae0812fb99979dc77ef31105;hp=85d109117405af44c832be25016c7ac9e023e6ff;hpb=87985b3f92c3e2cfeabf81b42079bf0cff1775e4;p=packages%2Fphp.git diff --git a/php.spec b/php.spec index 85d1091..559829a 100644 --- a/php.spec +++ b/php.spec @@ -1,15 +1,16 @@ -# TODO -# - NOTE: mysqlnd does not support ssl or compression (see FAQ at http://dev.mysql.com/downloads/connector/php-mysqlnd/) +# 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: +# - 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, hyperwave, java, mcal, overload, qtdom +# db [pecl-svn], hyperwave [pecl-svn], java [pecl-svn], mcal [pecl-svn], qtdom [pecl-svn] # - removed from php 5.1: -# cpdf, fam, oracle +# oracle [pecl-svn] # - removed from php 5.2: -# filepro, hw -# - removed from php 5.3: -# dbase, mime_magic, ming, ncurses, sybase +# 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 ? @@ -26,30 +27,35 @@ # Reflection # # Conditional build: -%bcond_with fdf # with FDF (PDF forms) module (BR: proprietary lib) %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 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 litespeed # build litespeed module +%bcond_with system_libzip # with system libzip (reported broken currently) %bcond_without curl # without CURL extension module %bcond_without filter # without filter extension module +%bcond_without enchant # without Enchant extension module %bcond_without imap # without IMAP extension module %bcond_without interbase # without InterBase 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 # without mysqlnd support in mysql related extensions +%bcond_with mysqlnd # with 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 openssl # without OpenSSL support and OpenSSL extension (module) %bcond_without pcre # without PCRE 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 %bcond_without pspell # without pspell extension module %bcond_without recode # without recode extension module %bcond_without snmp # without SNMP extension module -%bcond_without sqlite # without SQLite extension module +%bcond_without sqlite2 # without SQLite extension module %bcond_without sqlite3 # without SQLite3 extension module %bcond_without sybase_ct # without Sybase-CT extension module %bcond_without tidy # without Tidy extension module @@ -57,9 +63,10 @@ %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_without zts # disable Zend Thread Safety -%bcond_without cgi # disable CGI/FCGI 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 @@ -67,6 +74,7 @@ %define apxs1 /usr/sbin/apxs1 %define apxs2 /usr/sbin/apxs +%define litespeed_version 5.5 # disable all sapis %if %{with gcov} @@ -102,7 +110,7 @@ ERROR: You need to select at least one Apache SAPI to build shared modules. %undefine with_filter %endif -%define rel 8 +%define rel 1 Summary: PHP: Hypertext Preprocessor Summary(fr.UTF-8): Le langage de script embarque-HTML PHP Summary(pl.UTF-8): Język skryptowy PHP @@ -110,13 +118,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: php -Version: 5.3.3 -Release: %{rel}%{?with_type_hints:th} +Version: 5.3.14 +Release: %{rel}%{?with_type_hints:.th}%{?with_oci8:.oci} Epoch: 4 License: PHP Group: Libraries Source0: http://www.php.net/distributions/%{name}-%{version}.tar.bz2 -# Source0-md5: 21ceeeb232813c10283a5ca1b4c87b48 +# Source0-md5: 7caac4f71e2f21426c11ac153e538392 Source2: %{name}-mod_%{name}.conf Source3: %{name}-cgi-fcgi.ini Source4: %{name}-apache.ini @@ -128,6 +136,8 @@ Source11: %{name}-fpm.logrotate Source12: %{name}-branch.sh Source13: dep-tests.sh Source14: skip-tests.sh +Source15: http://litespeedtech.com/packages/lsapi/%{name}-litespeed-%{litespeed_version}.tgz +# Source15-md5: 9d58485d5fd6b5f5fefcec41b9ce283e Patch0: %{name}-shared.patch Patch1: %{name}-pldlogo.patch Patch2: %{name}-mail.patch @@ -139,6 +149,7 @@ Patch7: %{name}-sapi-ini-file.patch Patch8: %{name}-config-file-scan-dir.patch Patch9: %{name}-sh.patch Patch10: %{name}-ini.patch +Patch11: embed.patch %if %{with type_hints} Patch12: http://ilia.ws/patch/type_hint_53_v2.txt %endif @@ -157,7 +168,6 @@ Patch26: %{name}-pear.patch Patch27: %{name}-config-dir.patch Patch29: %{name}-fcgi-graceful.patch Patch31: %{name}-fcgi-error_log-no-newlines.patch -Patch32: %{name}-curl-limit-speed.patch Patch34: %{name}-libtool.patch Patch35: %{name}-tds.patch Patch36: %{name}-mysql-charsetphpini.patch @@ -176,12 +186,13 @@ Patch50: extension-shared-optional-dep.patch Patch51: spl-shared.patch Patch52: pcre-shared.patch Patch53: fix-test-run.patch -Patch54: mysqlnd-shared.patch -Patch55: bug-52078-fileinode.patch -Patch56: bug-51901.patch -Patch57: bug-52448.patch -Patch58: bug-52533.patch Patch59: %{name}-systzdata.patch +Patch60: %{name}-oracle-instantclient.patch +Patch62: mcrypt-libs.patch +Patch63: %{name}-mysql-nowarning.patch +Patch64: %{name}-m4.patch +# http://spot.fedorapeople.org/php-5.3.6-libzip.patch +Patch65: system-libzip.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} @@ -193,9 +204,12 @@ BuildRequires: bzip2-devel BuildRequires: cyrus-sasl-devel BuildRequires: db-devel >= 4.0 BuildRequires: elfutils-devel +%{?with_enchant:BuildRequires: enchant-devel >= 1.1.3} #BuildRequires: fcgi-devel -%{?with_fdf:BuildRequires: fdftk-devel} #BuildRequires: flex +%{?with_kerberos5:BuildRequires: heimdal-devel} +%{?with_system_libzip:BuildRequires: libzip-devel >= 0.10-3} +BuildRequires: mysql-devel BuildRequires: pkgconfig BuildRequires: sed >= 4.0 %if %{with mssql} || %{with sybase_ct} @@ -208,7 +222,7 @@ BuildRequires: gd-devel(imagerotate) = 5.2.0 %endif BuildRequires: gdbm-devel BuildRequires: gmp-devel -%{?with_imap:BuildRequires: imap-devel >= 1:2001-0.BETA.200107022325.2} +%{?with_imap:BuildRequires: imap-devel >= 1:2007e-2} BuildRequires: libicu-devel BuildRequires: libjpeg-devel BuildRequires: libltdl-devel >= 1.4 @@ -231,8 +245,9 @@ 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} BuildRequires: pam-devel -%{?with_pcre:BuildRequires: pcre-devel >= 6.6} +%{?with_pcre:BuildRequires: pcre-devel >= 8.10} BuildRequires: pkgconfig %{?with_pgsql:BuildRequires: postgresql-backend-devel >= 7.2} %{?with_pgsql:BuildRequires: postgresql-devel} @@ -241,12 +256,14 @@ BuildRequires: readline-devel BuildRequires: rpm >= 4.4.9-56 BuildRequires: rpm-build >= 4.4.0 BuildRequires: rpmbuild(macros) >= 1.566 -%{?with_sqlite:BuildRequires: sqlite-devel} -%{?with_sqlite3:BuildRequires: sqlite3-devel >= 3.3.9} +%{?with_sqlite2:BuildRequires: sqlite-devel} +%if %{with sqlite3} || %{with pdo_sqlite} +BuildRequires: sqlite3-devel >= 3.3.9 +%endif BuildRequires: t1lib-devel %{?with_tidy:BuildRequires: tidy-devel} %{?with_odbc:BuildRequires: unixODBC-devel} -%{?with_xmlrpc:BuildRequires: xmlrpc-epi-devel} +%{?with_xmlrpc:BuildRequires: xmlrpc-epi-devel >= 0.54.1} BuildRequires: zlib-devel >= 1.0.9 %if %{with apache1} BuildRequires: apache1-devel @@ -271,6 +288,17 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define zend_module_api 20090626 %define zend_extension_api 220090626 +# Extension versions +%define bz2ver 1.0 +%define enchantver 1.1.0 +%define fileinfover 1.0.5-dev +%define hashver 1.0 +%define intlver 1.1.0 +%define jsonver 1.2.1 +%define pharver 2.0.1 +%define sqlitever 2.0-dev +%define zipver 1.9.1 + %define zend_zts %{!?with_zts:0}%{?with_zts:1} %define php_debug %{!?debug:0}%{?debug:1} @@ -412,6 +440,15 @@ PHP as CLI interpreter. %description cli -l pl.UTF-8 PHP jako interpreter działający z linii poleceń. +%package embedded +Summary: PHP library for embedding in applications +Group: Libraries +Requires: %{name}-common = %{epoch}:%{version}-%{release} + +%description embedded +The php-embedded package contains a library which can be embedded into +applications to provide PHP scripting language support. + %package program Summary: /usr/bin/php symlink Summary(pl.UTF-8): Dowiązanie symboliczne /usr/bin/php @@ -427,6 +464,7 @@ Pakiet dostarczający dowiązanie symboliczne /usr/bin/php do PHP CLI. %package fpm Summary: PHP FastCGI Process Manager +Summary(pl.UTF-8): PHP FastCGI Process Manager - zarządca procesów FastCGI Group: Development/Languages/PHP URL: http://www.php-fpm.org/ Requires(post,preun): /sbin/chkconfig @@ -442,8 +480,11 @@ Provides: webserver(php) = %{version} %description fpm PHP FastCGI Process Manager. +%description fpm -l pl.UTF-8 +PHP FastCGI Process Manager - zarządca procesów FastCGI. + %package common -Summary: Common files needed by both Apache modules and CGI/CLI SAPI-s +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 Summary(ru.UTF-8): Разделяемые библиотеки для PHP Summary(uk.UTF-8): Бібліотеки спільного використання для PHP @@ -459,25 +500,24 @@ Provides: php(ereg) Provides: php(hash) Provides: php(libxml) Provides: php(modules_api) = %{php_api_version} -Provides: php(overload) Provides: php(reflection) Provides: php(standard) Provides: php(zend_extension_api) = %{zend_extension_api} Provides: php(zend_module_api) = %{zend_module_api} Provides: php-date Provides: php-ereg -Provides: php-overload Provides: php-reflection Provides: php-standard Provides: php5(debug) = %{php_debug} Provides: php5(thread-safety) = %{zend_zts} %{!?with_mysqlnd:Obsoletes: php-mysqlnd} +%{?with_pcre:%requires_ge_to pcre pcre-devel} Obsoletes: php-pecl-domxml Conflicts: php4-common < 3:4.4.4-8 Conflicts: rpm < 4.4.2-0.2 %description common -Common files needed by both Apache modules and CGI/CLI SAPI-s. +Common files needed by both Apache modules and CGI/CLI SAPIs. %description common -l pl.UTF-8 Wspólne pliki dla modułu Apache'a i programu CGI. @@ -498,14 +538,15 @@ Summary(ru.UTF-8): Пакет разработки для построения Summary(uk.UTF-8): Пакет розробки для побудови розширень PHP Group: Development/Languages/PHP Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: autoconf +Requires: autoconf >= 2.13 Requires: automake %if "%{pld_release}" != "ac" Requires: libtool >= 2:2.2 %else Requires: libtool %endif -%{?with_pcre:Requires: pcre-devel >= 6.6} +%{?with_pcre:Requires: pcre-devel >= 8.10} +%{?with_embed:Requires: %{name}-embedded = %{epoch}:%{version}-%{release}} Requires: shtool Obsoletes: php-pear-devel Obsoletes: php4-devel @@ -565,10 +606,11 @@ Summary(pl.UTF-8): Moduł bzip2 dla PHP Group: Libraries URL: http://www.php.net/manual/en/book.bzip2.php Requires: %{name}-common = %{epoch}:%{version}-%{release} -Provides: php(bz2) +Provides: php(bz2) = %{bz2ver} Provides: php(bzip2) Provides: php-bzip2 = %{epoch}:%{version}-%{release} -Obsoletes: php-bzip2 +Obsoletes: php-bzip2 < 4:5.2.14-3 +Obsoletes: php-pecl-bz2 < %{bz2ver} %description bz2 This is a dynamic shared object (DSO) for PHP that will add bzip2 @@ -657,6 +699,35 @@ support. %description dom -l pl.UTF-8 Moduł PHP dodający nową obsługę DOM. +%package enchant +Summary: libenchant binder +Summary(pl.UTF-8): dowiązania biblioteki libenchant +Group: Libraries +URL: http://www.php.net/manual/en/book.exif.php +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Provides: php(enchant) = %{enchantver} +Obsoletes: php-pecl-enchant < %{enchantver} + +%description enchant +Enchant is a binder for libenchant. Libenchant provides a common API +for many spell libraries: +- aspell/pspell (intended to replace ispell) +- hspell (hebrew) +- ispell +- myspell (OpenOffice.org project, mozilla) +- uspell (primarily Yiddish, Hebrew, and Eastern European languages) A + plugin system allows to add custom spell support. + +%description enchant -l pl.UTF-8 +Enchant jest dowiązaniem do biblioteki libenchant, która udostępnia +ujednolicone API dla wielu narzędzi sprawdzających pisownię: +- aspell/pspell (w zamierzeniu ma zastąpić ispell) +- hspell (hebrajski) +- ispell +- myspell (projekt OpenOffice.org, mozilla) +- uspell (głównie Jidysz, Hebrajski oraz języki wschodnioeuropejskie) + System wtyczek pozwala na dodanie wsparcia dla kolejnych narzędzi. + %package exif Summary: exif extension module for PHP Summary(pl.UTF-8): Moduł exif dla PHP @@ -672,30 +743,16 @@ support in image files. %description exif -l pl.UTF-8 Moduł PHP dodający obsługę znaczników EXIF w plikach obrazków. -%package fdf -Summary: FDF extension module for PHP -Summary(pl.UTF-8): Moduł FDF dla PHP -Group: Libraries -URL: http://www.php.net/manual/en/book.fdf.php -Requires: %{name}-common = %{epoch}:%{version}-%{release} -Provides: php(fdf) - -%description fdf -This PHP module adds support for PDF Forms through Adobe FDFTK -library. - -%description fdf -l pl.UTF-8 -Moduł PHP dodający obsługę formularzy PDF poprzez bibliotekę Adobe -FDFTK. - %package fileinfo Summary: libmagic bindings +Summary(pl.UTF-8): Wiązania do libmagic Group: Libraries 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) -Obsoletes: php-pecl-fileinfo +Provides: php(fileinfo) = %{fileinfover} +Obsoletes: php-mime_magic +Obsoletes: php-pecl-fileinfo < %{fileinfover} %description fileinfo This extension allows retrieval of information regarding vast majority @@ -705,6 +762,13 @@ etc... Additionally it can also be used to retrieve the MIME type for a particular file and for text files proper language encoding. +%description fileinfo -l pl.UTF-8 +To rozszerzenie pozwala na uzyskanie informacji dotyczących większości +plików. Informacje mogą zawierać wymiary, jakość, długość itp. + +Ponadto rozszerzenie można wykorzystać do odczytania typu MIME danego +pliku oraz kodowania plików tekstowych. + %package filter Summary: Extension for safely dealing with input parameters Summary(pl.UTF-8): Rozszerzenie do bezpiecznej obsługi danych wejściowych @@ -802,11 +866,13 @@ Summary(pl.UTF-8): Szkielet do obliczania skrótów wiadomości Group: Libraries URL: http://www.php.net/manual/en/book.gmp.php Requires: %{name}-common = %{epoch}:%{version}-%{release} -Provides: php(hash) +Provides: php(hash) = %{hashver} +%if %{with mhash} Provides: php(mhash) Provides: php-mhash = %{epoch}:%{version}-%{release} -Obsoletes: php-mhash -Obsoletes: php-pecl-hash +Obsoletes: php-mhash < 4:5.3.0 +%endif +Obsoletes: php-pecl-hash < %{hashver} %description hash Native implementations of common message digest algorithms using a @@ -841,6 +907,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.imap.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pcre = %{epoch}:%{version}-%{release} +Requires: imap-lib >= 1:2007e-2 Provides: php(imap) %description imap @@ -871,11 +938,12 @@ Moduł PHP umożliwiający dostęp do baz danych InterBase i Firebird. %package intl Summary: Internationalization extension (ICU wrapper) -Summary(pl.UTF-8): Rozszerzenie do internacjonalizacji (wrapper ICU) +Summary(pl.UTF-8): Rozszerzenie do internacjonalizacji (interfejs do ICU) Group: Libraries URL: http://www.php.net/intl Requires: %{name}-common = %{epoch}:%{version}-%{release} -Provides: php(intl) +Provides: php(intl) = %{intlver} +Obsoletes: php-pecl-intl < %{intlver} %description intl Internationalization extension (further is referred as Intl) is a @@ -885,8 +953,9 @@ their scripts. %description intl -l pl.UTF-8 Rozszerzenie do internacjonalizacji (dalej nazywane Intl) jest -wrapperem biblioteki ICU, pozwalającym programistom PHP na wykonywanie -w skryptach porównań zdgodnych z UCA oraz formatowań daty/czasu/walut. +interfejsem do biblioteki ICU, pozwalającym programistom PHP na +wykonywanie w skryptach porównań zgodnych z UCA oraz formatowania +daty/czasu/walut. %package json Summary: PHP C extension for JSON serialization @@ -894,8 +963,8 @@ Summary(pl.UTF-8): Rozszerzenie C PHP dla serializacji JSON Group: Libraries URL: http://www.php.net/manual/en/book.json.php Requires: %{name}-common = %{epoch}:%{version}-%{release} -Provides: php(json) -Obsoletes: php-pecl-json +Provides: php(json) = %{jsonver} +Obsoletes: php-pecl-json < %{jsonver} %description json php-json is an extremely fast PHP C extension for JSON (JavaScript @@ -970,28 +1039,6 @@ databases support through FreeTDS library. Moduł PHP dodający obsługę baz danych MS SQL poprzez bibliotekę FreeTDS. -%package mysqlnd -Summary: MySQL Native Client Driver for PHP -Group: Libraries -URL: http://www.php.net/manual/en/book.mysqlnd.php -Requires: %{name}-common = %{epoch}:%{version}-%{release} -Provides: php(mysqlnd) - -%description mysqlnd -MySQL Native Driver is a replacement for the MySQL Client Library -(libmysql). - -Because MySQL Native Driver is written as a PHP extension, it is -tightly coupled to the workings of PHP. This leads to gains in -efficiency, especially when it comes to memory usage, as the driver -uses the PHP memory management system. It also supports the PHP memory -limit. Using MySQL Native Driver leads to comparable or better -performance than using MySQL Client Library, it always ensures the -most efficient use of memory. One example of the memory efficiency is -the fact that when using the MySQL Client Library, each row is stored -in memory twice, whereas with the MySQL Native Driver each row is only -stored once in memory. - %package mysql Summary: MySQL database module for PHP Summary(pl.UTF-8): Moduł bazy danych MySQL dla PHP @@ -1032,6 +1079,43 @@ Moduł PHP umożliwiający udoskonalony dostęp do bazy danych MySQL. Różnicą między nim a modułem mysql jest dostęp do funkcjonalności MySQL w wersji 4.1 i nowszych. +%package mysqlnd +Summary: MySQL Native Client Driver for PHP +Summary(pl.UTF-8): Sterownik natywnego klienta MySQL dla PHP +Group: Libraries +URL: http://www.php.net/manual/en/book.mysqlnd.php +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Provides: php(mysqlnd) + +%description mysqlnd +MySQL Native Driver is a replacement for the MySQL Client Library +(libmysql). + +Because MySQL Native Driver is written as a PHP extension, it is +tightly coupled to the workings of PHP. This leads to gains in +efficiency, especially when it comes to memory usage, as the driver +uses the PHP memory management system. It also supports the PHP memory +limit. Using MySQL Native Driver leads to comparable or better +performance than using MySQL Client Library, it always ensures the +most efficient use of memory. One example of the memory efficiency is +the fact that when using the MySQL Client Library, each row is stored +in memory twice, whereas with the MySQL Native Driver each row is only +stored once in memory. + +%description mysqlnd -l pl.UTF-8 +MySQL Native Driver (natywny sterownik MySQL) to zamiennik biblioteki +klienckiej MySQL (libmysql). + +Ponieważ sterownik natywny jest napisany jako rozszerzenie PHP, jest +ściśle powiązany z pracą PHP. Daje to większą wydajność, zwłaszcza +jeśli chodzi o wykorzystanie pamięci, jako że sterownik wykorzystuje +system zarządzania pamięcią PHP; obsługuje także ograniczenie pamięci +z PHP. Niniejszy sterownik ma wydajność porównywalną lub lepszą niż +biblioteka kliencka MySQL, a pamięć zawsze wykorzystuje efektywniej. +Przykładem tego może być fakt, że w przypadku biblioteki klienckiej +każdy wiersz jest przechowywany w pamięci dwukrotnie, natomiast przy +tym sterowniku - tylko raz. + %package oci8 Summary: Oracle 8+ database module for PHP Summary(pl.UTF-8): Moduł bazy danych Oracle 8+ dla PHP @@ -1232,7 +1316,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-pgsql) Provides: php-pecl-PDO_PGSQL -Obsoletes: php-pecl-PDO_PGSQL +Obsoletes: php-pecl-PDO_PGSQL < 4:5.2.1-2 %description pdo-pgsql This is a dynamic shared object (DSO) for PHP that will add PDO @@ -1285,7 +1369,11 @@ Group: Libraries URL: http://www.php.net/manual/en/book.phar.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} -Provides: php(phar) +# zlib is required by phar program, but as phar cli is optional should the dep be too +Suggests: %{name}-zlib +Suggests: php-program +Provides: php(phar) = %{pharver} +Obsoletes: php-pecl-phar < %{pharver} %description phar This is a dynamic shared object (DSO) for PHP that will add phar @@ -1363,6 +1451,7 @@ Summary: session extension module for PHP Summary(pl.UTF-8): Moduł session dla PHP Group: Libraries Requires: %{name}-common = %{epoch}:%{version}-%{release} +Requires: %{name}-spl = %{epoch}:%{version}-%{release} Suggests: %{name}-hash = %{epoch}:%{version}-%{release} Provides: php(session) @@ -1452,7 +1541,7 @@ Moduł PHP dodający obsługę gniazdek. %package spl Summary: Standard PHP Library module for PHP -Summary(pl.UTF-8): Moduł SPL dla PHP +Summary(pl.UTF-8): Moduł biblioteki standardowej (Standard PHP Library) dla PHP Group: Libraries URL: http://php.net/manual/en/book.spl.php Requires: %{name}-common = %{epoch}:%{version}-%{release} @@ -1465,7 +1554,7 @@ This is a dynamic shared object (DSO) for PHP that will add Standard PHP Library support. %description spl -l pl.UTF-8 -Moduł PHP dodający obsługę gniazdek. +Moduł PHP z biblioteką standardową PHP (SPL - Standard PHP Library). %package sqlite Summary: SQLite extension module for PHP @@ -1475,7 +1564,8 @@ URL: http://www.php.net/manual/en/book.sqlite.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} -Provides: php(sqlite) +Provides: php(sqlite) = %{sqlitever} +Obsoletes: php-pecl-SQLite < %{sqlitever} %description sqlite SQLite is a C library that implements an embeddable SQL database @@ -1533,7 +1623,6 @@ URL: http://www.php.net/manual/en/book.sybase.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sybase-ct) Obsoletes: php-sybase -Conflicts: php-sybase %description sybase-ct This is a dynamic shared object (DSO) for PHP that will add Sybase and @@ -1596,10 +1685,10 @@ URL: http://qa.php.net/ Requires: %{name}-cli %description tests -This package contains unit tests for PHP and it's extensions. +This package contains unit tests for PHP and its extensions. %description tests -l pl.UTF-8 -Ten pakiet zawiera pliki testów jednostkowych dla PHP i rozszerzeń +Ten pakiet zawiera pliki testów jednostkowych dla PHP i rozszerzeń. %package tidy Summary: Tidy extension module for PHP @@ -1750,8 +1839,9 @@ Summary(pl.UTF-8): Zarządzanie archiwami zip Group: Libraries URL: http://www.php.net/manual/en/book.zip.php Requires: %{name}-common = %{epoch}:%{version}-%{release} -Provides: php(zip) -Obsoletes: php-pecl-zip +%{?with_system_libzip:Requires: libzip >= 0.10-3} +Provides: php(zip) = %{zipver} +Obsoletes: php-pecl-zip < %{zipver} %description zip Zip is an extension to create, modify and read zip files. @@ -1789,8 +1879,9 @@ Moduł PHP umożliwiający używanie kompresji zlib. %patch8 -p1 %patch7 -p1 %patch9 -p1 -cp php.ini-production php.ini +cp -p php.ini-production php.ini %patch10 -p1 +%patch11 -p1 %if %{with type_hints} %patch12 -p0 %endif @@ -1811,7 +1902,6 @@ cp php.ini-production php.ini %patch27 -p1 %patch29 -p1 %patch31 -p1 -%patch32 -p1 %if "%{pld_release}" != "ac" %patch34 -p1 %endif @@ -1836,43 +1926,42 @@ cp php.ini-production php.ini %patch51 -p1 %patch52 -p1 %patch53 -p1 -%patch54 -p1 %undos ext/spl/tests/SplFileInfo_getInode_basic.phpt -%patch55 -p1 -%patch56 -p0 -%patch57 -p1 -%patch58 -p1 %patch59 -p1 +%patch60 -p1 +%patch62 -p1 +%patch63 -p1 +%patch64 -p1 +%{?with_system_libzip:%patch65 -p1} +%{__rm} -r sapi/litespeed +gzip -dc %{SOURCE15} | tar xf - -C sapi/ -%if "%{pld_release}" != "ac" sed -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4 -%endif # cleanup backups after patching find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f # conflict seems to be resolved by recode patches -rm -f ext/recode/config9.m4 +%{__rm} ext/recode/config9.m4 # remove all bundled libraries not to link with them accidentally -#rm -rf ext/sqlite/libsqlite -rm -rf ext/sqlite3/libsqlite -#rm -rf ext/bcmath/libbcmath -#rm -rf ext/date/lib -#rm -rf ext/fileinfo/libmagic -#rm -rf ext/dba/libcdb -#rm -rf ext/dba/libflatfile -#rm -rf ext/dba/libinifile -#rm -rf ext/gd/libgd -#rm -rf ext/mbstring/libmbfl -#rm -rf ext/mbstring/oniguruma -rm -rf ext/pcre/pcrelib -rm -rf ext/pdo_sqlite/libsqlite -#rm -rf ext/soap/interop -rm -r ext/xmlrpc/libxmlrpc -#rm -rf ext/zip/lib - -cp -af Zend/LICENSE{,.Zend} +#%{__rm} -r ext/sqlite/libsqlite +%{__rm} -r ext/sqlite3/libsqlite +#%{__rm} -r ext/bcmath/libbcmath +#%{__rm} -r ext/date/lib +#%{__rm} -r ext/fileinfo/libmagic +#%{__rm} -r ext/dba/libcdb +#%{__rm} -r ext/dba/libflatfile +#%{__rm} -r ext/dba/libinifile +#%{__rm} -r ext/gd/libgd +#%{__rm} -r ext/mbstring/libmbfl +#%{__rm} -r ext/mbstring/oniguruma +%{__rm} -r ext/pcre/pcrelib +#%{__rm} -r ext/soap/interop +%{__rm} -r ext/xmlrpc/libxmlrpc +#%{__rm} -r ext/zip/lib + +cp -pf Zend/LICENSE{,.Zend} install -p %{SOURCE13} dep-tests.sh # breaks build @@ -1883,12 +1972,12 @@ sed -i -e 's#-fvisibility=hidden##g' configure* mv sapi/cli/tests/022.phpt{,.broken} # php-5.3.3/ext/standard/tests/file/statpage.phpt -rm ext/standard/tests/file/statpage.phpt +%{__rm} ext/standard/tests/file/statpage.phpt # idiotic test, it will fail if somebody else makes space on disk or if disk # space is not yet allocated (xfs). report upstream to advice bogus test is # probably pointless. -rm ext/standard/tests/file/disk_free_space_basic.phpt +%{__rm} ext/standard/tests/file/disk_free_space_basic.phpt sh -xe %{_sourcedir}/skip-tests.sh @@ -1911,6 +2000,62 @@ if [ $API != %{zend_extension_api} ]; then exit 1 fi +# Check for some extension version +ver=$(sed -n '/#define PHP_FILEINFO_VERSION /{s/.* "//;s/".*$//;p}' ext/fileinfo/php_fileinfo.h) +if test "$ver" != "%{fileinfover}"; then + : Error: Upstream FILEINFO version is now ${ver}, expecting %{fileinfover}. + : Update the fileinfover macro and rebuild. + exit 1 +fi +ver=$(sed -n '/#define PHP_PHAR_VERSION /{s/.* "//;s/".*$//;p}' ext/phar/php_phar.h) +if test "$ver" != "%{pharver}"; then + : Error: Upstream PHAR version is now ${ver}, expecting %{pharver}. + : Update the pharver macro and rebuild. + exit 1 +fi +ver=$(sed -n '/#define PHP_ZIP_VERSION_STRING /{s/.* "//;s/".*$//;p}' ext/zip/php_zip.h) +if test "$ver" != "%{zipver}"; then + : Error: Upstream ZIP version is now ${ver}, expecting %{zipver}. + : Update the zipver macro and rebuild. + exit 1 +fi +ver=$(sed -n '/#define PHP_JSON_VERSION /{s/.* "//;s/".*$//;p}' ext/json/php_json.h) +if test "$ver" != "%{jsonver}"; then + : Error: Upstream JSON version is now ${ver}, expecting %{jsonver}. + : Update the jsonver macro and rebuild. + exit 1 +fi +ver=$(sed -rne 's,.*(.+),\1,p' ext/bz2/package.xml) +if test "$ver" != "%{bz2ver}"; then + : Error: Upstream BZIP2 version is now ${ver}, expecting %{bz2ver}. + : Update the bz2ver macro and rebuild. + exit 1 +fi +ver=$(sed -n '/#define PHP_ENCHANT_VERSION /{s/.* "//;s/".*$//;p}' ext/enchant/php_enchant.h) +if test "$ver" != "%{enchantver}"; then + : Error: Upstream Enchant version is now ${ver}, expecting %{enchantver}. + : Update the enchantver macro and rebuild. + exit 1 +fi +ver=$(awk '/#define PHP_HASH_EXTVER/ {print $3}' ext/hash/php_hash.h | xargs) +if test "$ver" != "%{hashver}"; then + : Error: Upstream HASH version is now ${ver}, expecting %{hashver}. + : Update the hashver macro and rebuild. + exit 1 +fi +ver=$(sed -n '/#define PHP_INTL_VERSION /{s/.* "//;s/".*$//;p}' ext/intl/php_intl.h) +if test "$ver" != "%{intlver}"; then + : Error: Upstream Intl version is now ${ver}, expecting %{intlver}. + : Update the intlver macro and rebuild. + exit 1 +fi +ver=$(awk '/#define PHP_SQLITE_MODULE_VERSION/ {print $3}' ext/sqlite/sqlite.c | xargs) +if test "$ver" != "%{sqlitever}"; then + : Error: Upstream Sqlite version is now ${ver}, expecting %{sqlitever}. + : Update the sqlitever macro and rebuild. + exit 1 +fi + export EXTENSION_DIR="%{php_extensiondir}" # configure once (for faster debugging purposes) if [ ! -f _built-conf ]; then @@ -1931,18 +2076,21 @@ cli %if %{with cgi} cgi-fcgi %endif +%if %{with litespeed} +litespeed +%endif %if %{with fpm} fpm %endif +%if %{with embed} +embed +%endif %if %{with apache1} apxs1 %endif %if %{with apache2} apxs2 %endif -%if %{with litespeed} -litespeed -%endif " for sapi in $sapis; do : SAPI $sapi @@ -1960,6 +2108,9 @@ for sapi in $sapis; do fpm) sapi_args='--disable-cli --enable-fpm' ;; + embed) + sapi_args='--disable-cli --enable-embed' + ;; apxs1) ver=$(rpm -q --qf '%{V}' apache1-devel) sapi_args="--disable-cli --with-apxs=%{apxs1} --with-apache-version=$ver" @@ -2015,20 +2166,19 @@ for sapi in $sapis; do %if %{with interbase} && %{without interbase_inst} --with-pdo-firebird=shared,/usr \ %endif + %{?with_mhash:--with-mhash=yes} \ --with-mysql-sock=/var/lib/mysql/mysql.sock \ --with-pdo-mysql=shared%{?with_mysqlnd:,mysqlnd} \ - %{?with_oci8:--with-pdo-oci=shared} \ + %{?with_oci8:--with-pdo-oci=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ %{?with_odbc:--with-pdo-odbc=shared,unixODBC,/usr} \ %{?with_pgsql:--with-pdo-pgsql=shared} \ - %{?with_sqlite:--with-pdo-sqlite=shared,/usr} \ + %{?with_pdo_sqlite:--with-pdo-sqlite=shared,/usr} \ --without-libexpat-dir \ - --enable-overload=shared \ --enable-posix=shared \ --enable-shared \ --enable-session=shared \ --enable-shmop=shared \ --enable-simplexml=shared \ - --enable-spl=shared \ --enable-sysvmsg=shared \ --enable-sysvsem=shared \ --enable-sysvshm=shared \ @@ -2043,8 +2193,8 @@ for sapi in $sapis; do --with-bz2=shared \ %{__with_without curl curl shared} \ --with-db4 \ - %{?with_fdf:--with-fdftk=shared} \ --with-iconv=shared \ + %{?with_enchant:--with-enchant=shared,/usr} \ --with-freetype-dir=shared \ --with-gettext=shared \ --with-gd=shared%{?with_system_gd:,/usr} \ @@ -2060,9 +2210,9 @@ for sapi in $sapis; do %{?with_mysqlnd:--with-mysqlnd=shared} \ --with-mysql=shared%{?with_mysqlnd:,mysqlnd} \ %{?with_mysqli:--with-mysqli=shared%{?with_mysqlnd:,mysqlnd}} \ - %{?with_oci8:--with-oci8=shared} \ + %{?with_oci8:--with-oci8=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ %{?with_openssl:--with-openssl=shared} \ - --with-kerberos \ + %{?with_kerberos5:--with-kerberos} \ %{__with_without pcre pcre-regex /usr} \ %{__enable_disable filter filter shared} \ --with-pear=%{php_pear_dir} \ @@ -2075,7 +2225,8 @@ for sapi in $sapis; do --with-regex=system \ %{?with_snmp:--with-snmp=shared} \ %{?with_sybase_ct:--with-sybase-ct=shared,/usr} \ - %{!?with_sqlite:--without-sqlite --without-pdo-sqlite}%{?with_sqlite:--with-sqlite=shared,/usr --enable-sqlite-utf8} \ + %{!?with_sqlite2:--without-sqlite}%{?with_sqlite2:--with-sqlite=shared,/usr --enable-sqlite-utf8} \ + %{!?with_pdo_sqlite:--without-pdo-sqlite} \ %{__with_without sqlite3 sqlite3 shared,/usr} \ --with-t1lib=shared \ %{?with_tidy:--with-tidy=shared} \ @@ -2084,6 +2235,7 @@ for sapi in $sapis; do --with-xsl=shared \ --with-zlib=shared \ --with-zlib-dir=shared,/usr \ + %{?with_system_libzip:--with-libzip} \ --enable-zip=shared,/usr \ # save for debug @@ -2116,20 +2268,20 @@ cp -af Makefile.cli Makefile # CGI/FCGI %if %{with cgi} -cp -af php_config.h.cgi-fcgi main/php_config.h +cp -pf php_config.h.cgi-fcgi main/php_config.h %{__make} -f Makefile.cgi-fcgi [ "$(echo ' /dev/null %endif # CLI -cp -af php_config.h.cli main/php_config.h +cp -pf php_config.h.cli main/php_config.h %{__make} -f Makefile.cli [ "$(echo ' run-tests.sh #!/bin/sh @@ -2209,10 +2363,10 @@ rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_libdir}/{php,apache{,1}},%{_sysconfdir}/{apache,cgi}} \ $RPM_BUILD_ROOT{%{_sbindir},%{_bindir}} \ $RPM_BUILD_ROOT/etc/{apache/conf.d,httpd/conf.d} \ - $RPM_BUILD_ROOT%{_mandir}/man1 \ + $RPM_BUILD_ROOT%{_mandir}/man{1,8} \ -cp -af php_config.h.cli main/php_config.h -cp -af Makefile.cli Makefile +cp -pf php_config.h.cli main/php_config.h +cp -pf Makefile.cli Makefile %{__make} install \ INSTALL_ROOT=$RPM_BUILD_ROOT @@ -2221,69 +2375,75 @@ ln -sfn phar.phar $RPM_BUILD_ROOT%{_bindir}/phar # install Apache1 DSO module %if %{with apache1} -libtool --silent --mode=install install sapi/apache/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache1 +libtool --mode=install install -p sapi/apache/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache1 %endif # install Apache2 DSO module %if %{with apache2} -libtool --silent --mode=install install sapi/apache2handler/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache +libtool --mode=install install -p sapi/apache2handler/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache %endif # install litespeed sapi %if %{with litespeed} -libtool --silent --mode=install install sapi/litespeed/php $RPM_BUILD_ROOT%{_sbindir}/php.litespeed +libtool --mode=install install -p sapi/litespeed/php $RPM_BUILD_ROOT%{_sbindir}/php.litespeed %endif -libtool --silent --mode=install install libphp_common.la $RPM_BUILD_ROOT%{_libdir} -# fix install paths, avoid evil rpaths -sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_common.la -# better solution? -sed -i -e 's|libphp_common.la|$(libdir)/libphp_common.la|' $RPM_BUILD_ROOT%{_libdir}/php/build/acinclude.m4 +libtool --mode=install install -p libphp_common.la $RPM_BUILD_ROOT%{_libdir} # install CGI/FCGI %if %{with cgi} -libtool --silent --mode=install install sapi/cgi/php-cgi $RPM_BUILD_ROOT%{_bindir}/php.cgi +# install-cgi +libtool --mode=install install -p sapi/cgi/php-cgi $RPM_BUILD_ROOT%{_bindir}/php.cgi ln -sf php.cgi $RPM_BUILD_ROOT%{_bindir}/php.fcgi -cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/php-cgi-fcgi.ini +cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/php-cgi-fcgi.ini %endif # install FCGI PM %if %{with fpm} -install -d $RPM_BUILD_ROOT{%{_sysconfdir}/fpm.d,%{_sbindir}} -libtool --silent --mode=install install sapi/fpm/php-fpm $RPM_BUILD_ROOT%{_sbindir} -cp -a sapi/fpm/php-fpm.1 $RPM_BUILD_ROOT%{_mandir}/man1 -cp -a sapi/fpm/php-fpm.conf $RPM_BUILD_ROOT%{_sysconfdir} -install -d $RPM_BUILD_ROOT/etc/rc.d/init.d +%{__make} -f Makefile.fpm install-fpm \ + INSTALL_ROOT=$RPM_BUILD_ROOT +# Makefile.fpm incorrectly installs libtool script instead of final binary so overwrite +libtool --mode=install install -p sapi/fpm/php-fpm $RPM_BUILD_ROOT%{_sbindir} + +install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_sysconfdir}/fpm.d} install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/php-fpm install -d $RPM_BUILD_ROOT/etc/logrotate.d -cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/php-fpm +cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/php-fpm +%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 -d $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed +cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed %endif # install CLI -libtool --silent --mode=install install sapi/cli/php $RPM_BUILD_ROOT%{_bindir}/php.cli -install sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1/php.1 +libtool --mode=install install -p sapi/cli/php $RPM_BUILD_ROOT%{_bindir}/php.cli +cp -p sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1/php.1 echo ".so php.1" >$RPM_BUILD_ROOT%{_mandir}/man1/php.cli.1 ln -sf php.cli $RPM_BUILD_ROOT%{_bindir}/php sed -e 's#%{_prefix}/lib/php#%{_libdir}/php#g' php.ini > $RPM_BUILD_ROOT%{_sysconfdir}/php.ini -cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini -cp -a %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/browscap.ini +cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini +cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/browscap.ini %if %{with apache1} -cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/70_mod_php.conf -cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache.ini -rm -f $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.la +cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/70_mod_php.conf +cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache.ini +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.la %endif %if %{with apache2} -cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/httpd/conf.d/70_mod_php.conf -cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache2handler.ini -rm -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.la +cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/httpd/conf.d/70_mod_php.conf +cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache2handler.ini +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.la %endif install -d $RPM_BUILD_ROOT%{_sysconfdir}/conf.d -cp -a conf.d/*.ini $RPM_BUILD_ROOT%{_sysconfdir}/conf.d +cp -p conf.d/*.ini $RPM_BUILD_ROOT%{_sysconfdir}/conf.d # per SAPI ini directories install -d $RPM_BUILD_ROOT%{_sysconfdir}/{cgi-fcgi,cli,apache,apache2handler}.d @@ -2306,13 +2466,22 @@ ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/php/build # for php-pecl-mailparse install -d $RPM_BUILD_ROOT%{_includedir}/php/ext/mbstring -cp -a ext/mbstring/libmbfl/mbfl/*.h $RPM_BUILD_ROOT%{_includedir}/php/ext/mbstring +cp -p ext/mbstring/libmbfl/mbfl/*.h $RPM_BUILD_ROOT%{_includedir}/php/ext/mbstring # tests install -d $RPM_BUILD_ROOT%{php_data_dir}/tests/php install -p run-tests.php $RPM_BUILD_ROOT%{php_data_dir}/tests/php/run-tests.php 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 + %clean rm -rf $RPM_BUILD_ROOT @@ -2354,6 +2523,9 @@ if [ "$1" = "0" ]; then %userremove http fi +%post embedded -p /sbin/ldconfig +%postun embedded -p /sbin/ldconfig + %post common # PHP 5.3 requires timezone being setup, try setup it from tzdata if ! grep -q '^date.timezone[[:space:]]*=' %{_sysconfdir}/php.ini && [ -f /etc/sysconfig/timezone ]; then @@ -2417,8 +2589,8 @@ fi %extension_scripts curl %extension_scripts dba %extension_scripts dom +%extension_scripts enchant %extension_scripts exif -%extension_scripts fdf %extension_scripts fileinfo %extension_scripts filter %extension_scripts ftp @@ -2435,13 +2607,14 @@ fi %extension_scripts mbstring %extension_scripts mcrypt %extension_scripts mssql -%extension_scripts mysqlnd %extension_scripts mysql %extension_scripts mysqli +%extension_scripts mysqlnd %extension_scripts oci8 %extension_scripts odbc %extension_scripts openssl %extension_scripts pcre +%extension_scripts pdo %extension_scripts pdo-dblib %extension_scripts pdo-firebird %extension_scripts pdo-mysql @@ -2450,11 +2623,13 @@ fi %extension_scripts pdo-sqlite %extension_scripts pgsql %extension_scripts phar +%extension_scripts pcntl %extension_scripts posix %extension_scripts pspell %extension_scripts recode %extension_scripts session %extension_scripts shmop +%extension_scripts simplexml %extension_scripts snmp %extension_scripts soap %extension_scripts sockets @@ -2476,157 +2651,6 @@ fi %extension_scripts zip %extension_scripts zlib -%triggerun bcmath -- %{name}-bcmath < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*bcmath\.so/d' %{_sysconfdir}/php.ini - -%triggerun calendar -- %{name}-calendar < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*calendar\.so/d' %{_sysconfdir}/php.ini - -%triggerun ctype -- %{name}-ctype < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*ctype\.so/d' %{_sysconfdir}/php.ini - -%triggerun curl -- %{name}-curl < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*curl\.so/d' %{_sysconfdir}/php.ini - -%triggerun dba -- %{name}-dba < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*dba\.so/d' %{_sysconfdir}/php.ini - -%triggerun dom -- %{name}-dom < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*dom\.so/d' %{_sysconfdir}/php.ini - -%triggerun exif -- %{name}-exif < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*exif\.so/d' %{_sysconfdir}/php.ini - -%triggerun fdf -- %{name}-fdf < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*fdf\.so/d' %{_sysconfdir}/php.ini - -%triggerun ftp -- %{name}-ftp < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*ftp\.so/d' %{_sysconfdir}/php.ini - -%triggerun gd -- %{name}-gd < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*gd\.so/d' %{_sysconfdir}/php.ini - -%triggerun gettext -- %{name}-gettext < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*gettext\.so/d' %{_sysconfdir}/php.ini - -%triggerun gmp -- %{name}-gmp < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*gmp\.so/d' %{_sysconfdir}/php.ini - -%triggerun iconv -- %{name}-iconv < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*iconv\.so/d' %{_sysconfdir}/php.ini - -%triggerun imap -- %{name}-imap < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*imap\.so/d' %{_sysconfdir}/php.ini - -%triggerun interbase -- %{name}-interbase < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*interbase\.so/d' %{_sysconfdir}/php.ini - -%triggerun ldap -- %{name}-ldap < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*ldap\.so/d' %{_sysconfdir}/php.ini - -%triggerun mbstring -- %{name}-mbstring < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mbstring\.so/d' %{_sysconfdir}/php.ini - -%triggerun mcrypt -- %{name}-mcrypt < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mcrypt\.so/d' %{_sysconfdir}/php.ini - -%triggerun mssql -- %{name}-mssql < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mssql\.so/d' %{_sysconfdir}/php.ini - -%triggerun mysql -- %{name}-mysql < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mysql\.so/d' %{_sysconfdir}/php.ini - -%triggerun mysqli -- %{name}-mysqli < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*mysqli\.so/d' %{_sysconfdir}/php.ini - -%triggerun oci8 -- %{name}-oci8 < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*oci8\.so/d' %{_sysconfdir}/php.ini - -%triggerun odbc -- %{name}-odbc < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*odbc\.so/d' %{_sysconfdir}/php.ini - -%triggerun openssl -- %{name}-openssl < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*openssl\.so/d' %{_sysconfdir}/php.ini - -%triggerun pcntl -- %{name}-pcntl < 4:5.1.2-9.5 -if [ -f %{_sysconfdir}/php-cgi.ini ]; then - %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*pcntl\.so/d' %{_sysconfdir}/php-cgi.ini -fi -if [ -f %{_sysconfdir}/php-cli.ini ]; then - %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*pcntl\.so/d' %{_sysconfdir}/php-cli.ini -fi - -%triggerun pcre -- %{name}-pcre < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*pcre\.so/d' %{_sysconfdir}/php.ini - -%triggerun pgsql -- %{name}-pgsql < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*pgsql\.so/d' %{_sysconfdir}/php.ini - -%triggerun posix -- %{name}-posix < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*posix\.so/d' %{_sysconfdir}/php.ini - -%triggerun pspell -- %{name}-pspell < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*pspell\.so/d' %{_sysconfdir}/php.ini - -%triggerun readline -- %{name}-readline < 4:5.1.2-9.5 -if [ -f %{_sysconfdir}/php-cgi.ini ]; then - %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*readline\.so/d' %{_sysconfdir}/php-cgi.ini -fi -if [ -f %{_sysconfdir}/php-cli.ini ]; then - %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*readline\.so/d' %{_sysconfdir}/php-cli.ini -fi - -%triggerun recode -- %{name}-recode < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*recode\.so/d' %{_sysconfdir}/php.ini - -%triggerun session -- %{name}-session < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*session\.so/d' %{_sysconfdir}/php.ini - -%triggerun shmop -- %{name}-shmop < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*shmop\.so/d' %{_sysconfdir}/php.ini - -%triggerun snmp -- %{name}-snmp < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*snmp\.so/d' %{_sysconfdir}/php.ini - -%triggerun soap -- %{name}-soap < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*soap\.so/d' %{_sysconfdir}/php.ini - -%triggerun sockets -- %{name}-sockets < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sockets\.so/d' %{_sysconfdir}/php.ini - -%triggerun sqlite -- %{name}-sqlite < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sqlite\.so/d' %{_sysconfdir}/php.ini - -%triggerun sybase-ct -- %{name}-sybase-ct < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sybase-ct\.so/d' %{_sysconfdir}/php.ini - -%triggerun sysvmsg -- %{name}-sysvmsg < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sysvmsg\.so/d' %{_sysconfdir}/php.ini - -%triggerun sysvsem -- %{name}-sysvsem < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sysvsem\.so/d' %{_sysconfdir}/php.ini - -%triggerun sysvshm -- %{name}-sysvshm < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*sysvshm\.so/d' %{_sysconfdir}/php.ini - -%triggerun tidy -- %{name}-tidy < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*tidy\.so/d' %{_sysconfdir}/php.ini - -%triggerun wddx -- %{name}-wddx < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*wddx\.so/d' %{_sysconfdir}/php.ini - -%triggerun xml -- %{name}-xml < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*xml\.so/d' %{_sysconfdir}/php.ini - -%triggerun xmlrpc -- %{name}-xmlrpc < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*xmlrpc\.so/d' %{_sysconfdir}/php.ini - -%triggerun xsl -- %{name}-xsl < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*xsl\.so/d' %{_sysconfdir}/php.ini - -%triggerun zlib -- %{name}-zlib < 4:5.0.4-9.1 -%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*zlib\.so/d' %{_sysconfdir}/php.ini - %if %{with apache1} %files -n apache1-mod_php %defattr(644,root,root,755) @@ -2660,6 +2684,12 @@ fi %attr(755,root,root) %{_bindir}/php.fcgi %endif +%if %{with embed} +%files embedded +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libphp5-%{version}.so +%endif + %files cli %defattr(644,root,root,755) %dir %{_sysconfdir}/cli.d @@ -2675,24 +2705,20 @@ fi %if %{with fpm} %files fpm %defattr(644,root,root,755) -%doc sapi/fpm/CREDITS -%doc sapi/fpm/LICENSE +%doc sapi/fpm/{CREDITS,LICENSE} %dir %{_sysconfdir}/fpm.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.conf %attr(755,root,root) %{_sbindir}/php-fpm -%{_mandir}/man1/php-fpm.1* +%{_mandir}/man8/php-fpm.8* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/php-fpm %attr(754,root,root) /etc/rc.d/init.d/php-fpm +%dir %{_datadir}/fpm +%{_datadir}/fpm/status.html %endif %files common %defattr(644,root,root,755) -%doc php.ini-* -%doc CREDITS Zend/ZEND_CHANGES -%doc LICENSE Zend/LICENSE.Zend EXTENSIONS NEWS TODO* -%doc README.PHP4-TO-PHP5-THIN-CHANGES -%doc README.namespaces - +%doc CREDITS EXTENSIONS LICENSE NEWS README.{PHP4-TO-PHP5-THIN-CHANGES,namespaces} TODO* UPGRADING* Zend/{LICENSE.Zend,ZEND_CHANGES} php.ini-* %dir %{_sysconfdir} %dir %{_sysconfdir}/conf.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini @@ -2704,10 +2730,7 @@ fi %files devel %defattr(644,root,root,755) -%doc README.UNIX-BUILD-SYSTEM -%doc README.EXT_SKEL README.SELF-CONTAINED-EXTENSIONS -%doc CODING_STANDARDS README.EXTENSIONS README.PARAMETER_PARSING_API README.STREAMS -%doc README.SUBMITTING_PATCH README.TESTING README.TESTING2 +%doc CODING_STANDARDS README.{EXTENSIONS,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 @@ -2716,6 +2739,11 @@ fi %{_libdir}/php/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) @@ -2754,32 +2782,29 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/dom.ini %attr(755,root,root) %{php_extensiondir}/dom.so -%if %{with fdf} -%files fdf +%files enchant %defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/fdf.ini -%attr(755,root,root) %{php_extensiondir}/fdf.so -%endif +%doc ext/enchant/{CREDITS,docs/examples} +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/enchant.ini +%attr(755,root,root) %{php_extensiondir}/enchant.so + +%files exif +%defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/exif.ini +%attr(755,root,root) %{php_extensiondir}/exif.so %files fileinfo %defattr(644,root,root,755) -%doc README.input_filter %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/fileinfo.ini %attr(755,root,root) %{php_extensiondir}/fileinfo.so %if %{with filter} %files filter %defattr(644,root,root,755) -%doc README.input_filter %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/filter.ini %attr(755,root,root) %{php_extensiondir}/filter.so %endif -%files exif -%defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/exif.ini -%attr(755,root,root) %{php_extensiondir}/exif.so - %files ftp %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/ftp.ini @@ -2858,13 +2883,6 @@ fi %attr(755,root,root) %{php_extensiondir}/mssql.so %endif -%if %{with mysqlnd} -%files mysqlnd -%defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/MySQLND.ini -%attr(755,root,root) %{php_extensiondir}/mysqlnd.so -%endif - %files mysql %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mysql.ini @@ -2877,6 +2895,13 @@ fi %attr(755,root,root) %{php_extensiondir}/mysqli.so %endif +%if %{with mysqlnd} +%files mysqlnd +%defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/MySQLND.ini +%attr(755,root,root) %{php_extensiondir}/mysqlnd.so +%endif + %if %{with oci8} %files oci8 %defattr(644,root,root,755) @@ -2955,7 +2980,7 @@ fi %attr(755,root,root) %{php_extensiondir}/pdo_pgsql.so %endif -%if %{with sqlite} +%if %{with pdo_sqlite} %files pdo-sqlite %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_sqlite.ini @@ -3002,15 +3027,10 @@ fi %attr(755,root,root) %{php_extensiondir}/recode.so %endif -%files simplexml -%defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/simplexml.ini -%attr(755,root,root) %{php_extensiondir}/simplexml.so - %files session %defattr(644,root,root,755) %doc ext/session/mod_files.sh -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/session.ini +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/Session.ini %attr(755,root,root) %{php_extensiondir}/session.so %files shmop @@ -3018,6 +3038,11 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/shmop.ini %attr(755,root,root) %{php_extensiondir}/shmop.so +%files simplexml +%defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/simplexml.ini +%attr(755,root,root) %{php_extensiondir}/simplexml.so + %if %{with snmp} %files snmp %defattr(644,root,root,755) @@ -3037,12 +3062,11 @@ fi %files spl %defattr(644,root,root,755) -%doc ext/spl/{CREDITS,README,TODO} -%doc ext/spl/examples +%doc ext/spl/{CREDITS,README,TODO,examples} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/SPL.ini %attr(755,root,root) %{php_extensiondir}/spl.so -%if %{with sqlite} +%if %{with sqlite2} %files sqlite %defattr(644,root,root,755) %doc ext/sqlite/{README,TODO,CREDITS}