X-Git-Url: http://git.pld-linux.org/?p=packages%2Fphp.git;a=blobdiff_plain;f=php.spec;h=3db875d5b445401b7888dd7ce47bd3ac5178276c;hp=5fe42d3312def88748e0304058159910510bc791;hb=903ed19356f710a760d0d9067e8620e368ed8852;hpb=7da3941e6a7f48af7d10717f79a758e061d13b9a diff --git a/php.spec b/php.spec index 5fe42d3..3db875d 100644 --- a/php.spec +++ b/php.spec @@ -24,20 +24,16 @@ # standard # # Conditional build: +# - packaging options +%bcond_without alternatives # use alternatives system to select default phar and php-fpm +%bcond_with default_php # build this PHP as default PHP in system (disables alternatives) # - 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_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 apache2 # disable building Apache 2.x SAPI @@ -97,6 +93,13 @@ %bcond_without tidy # without Tidy extension module %bcond_without wddx # without WDDX extension module %bcond_without xmlrpc # without XML-RPC extension module +# extensions options +%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_with mm # without mm support for session storage +%bcond_with system_gd # with system gd (imageantialias function is missing then) +%bcond_with system_libzip # with system libzip (reported broken currently) +%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp) %define apxs1 /usr/sbin/apxs1 %define apxs2 /usr/sbin/apxs @@ -108,6 +111,10 @@ %undefine with_litespeed %endif +%if %{with default_php} +%undefine with_alternatives +%endif + # mm is not thread safe %if %{with zts} %undefine with_mm @@ -134,7 +141,7 @@ %endif %define orgname php -%define ver_suffix 70 +%define ver_suffix 71 %define php_suffix %{!?with_default_php:%{ver_suffix}} Summary: PHP: Hypertext Preprocessor Summary(fr.UTF-8): Le langage de script embarque-HTML PHP @@ -143,8 +150,8 @@ Summary(pt_BR.UTF-8): A linguagem de script PHP Summary(ru.UTF-8): PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} -Version: 7.0.9 -Release: 1 +Version: 7.1.0 +Release: 2 Epoch: 4 # All files licensed under PHP version 3.01, except # Zend is licensed under Zend @@ -152,7 +159,7 @@ Epoch: 4 License: PHP 3.01 and Zend and BSD Group: Libraries Source0: http://php.net/distributions/%{orgname}-%{version}.tar.xz -# Source0-md5: 6294813fb3c8158cfde74302f573cac7 +# Source0-md5: cf36039303c47f493100afea522a8f53 Source2: %{orgname}-mod_php.conf Source3: %{orgname}-cgi-fcgi.ini Source4: %{orgname}-apache.ini @@ -261,7 +268,7 @@ BuildRequires: libxslt-devel >= 1.1.0 %{?with_mm:BuildRequires: mm-devel >= 1.3.0} %{?with_ldap:BuildRequires: openldap-devel >= 2.3.0} %if %{with openssl} || %{with ldap} -BuildRequires: openssl-devel >= 0.9.8 +BuildRequires: openssl-devel >= 1.0.1 %endif %{?with_gcov:BuildRequires: lcov} %{?with_snmp:%{?with_tests:BuildRequires: mibs-net-snmp}} @@ -298,9 +305,9 @@ 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 20151012 -%define zend_module_api 20151012 -%define zend_extension_api 320151012 +%define php_api_version 20160303 +%define zend_module_api 20160303 +%define zend_extension_api 320160303 %define php_pdo_api_version 20150127 # Extension versions @@ -309,10 +316,10 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define fileinfover 1.0.5 %define hashver 1.0 %define intlver 1.1.0 -%define jsonver 1.4.0 +%define jsonver 1.5.0 %define pharver 2.0.2 %define sqlite3ver 0.7-dev -%define zipver 1.13.3 +%define zipver 1.13.5 %define phpdbgver 0.5.0 %define _zend_zts %{!?with_zts:0}%{?with_zts:1} @@ -482,6 +489,8 @@ Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id Requires(pre): /usr/sbin/useradd Requires: %{name}-common = %{epoch}:%{version}-%{release} +%{?with_alternatives:Requires: alternatives} +Requires: php-dirs >= 1.4-2 Requires: rc-scripts Provides: php(fcgi) Provides: php(fpm) @@ -500,6 +509,7 @@ PHP FastCGI Process Manager - zarządca procesów FastCGI. %package phpdbg Summary: The debugging platform for PHP 5.4+ +Summary(pl.UTF-8): Platforma diagnostyczna dla PHP 5.4+ Group: Development/Languages/PHP Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(phpdbg) = %{phpdbgver} @@ -514,6 +524,15 @@ your code. phpdbg aims to be a lightweight, powerful, easy to use debugging platform for PHP 5.4+ +%description phpdbg -l pl.UTF-8 +phpdbg - interaktywny debugger dla PHP. + +Jest zaimplementowany jako moduł SAPI, potrafi przejąć pełną kontrolę +nad środowiskiem bez wpływu na zachowanie lub wydajność kodu. + +Narzędzie powstało jako lekka, mająca duże możliwości, łatwa w użyciu +platforma diagnostyczna dla 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 @@ -1320,6 +1339,7 @@ URL: http://php.net/manual/en/ref.pdo-firebird.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-firebird) +Provides: php(pdo_firebird) Obsoletes: php-pdo-firebird < 4:5.3.28-7 Obsoletes: php-pecl-PDO_FIREBIRD @@ -1340,6 +1360,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-mysql) +Provides: php(pdo_mysql) Obsoletes: php-pdo-mysql < 4:5.3.28-7 Obsoletes: php-pecl-PDO_MYSQL @@ -1359,6 +1380,7 @@ URL: http://php.net/manual/en/ref.pdo-oci.php %{?requires_php_extension} %{?requires_php_pdo_module} Provides: php(pdo-oci) +Provides: php(pdo_oci) Obsoletes: php-pdo-oci < 4:5.3.28-7 Obsoletes: php-pecl-PDO_OCI @@ -1378,6 +1400,7 @@ URL: http://php.net/manual/en/ref.pdo-odbc.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-odbc) +Provides: php(pdo_odbc) Obsoletes: php-pdo-odbc < 4:5.3.28-7 Obsoletes: php-pecl-PDO_ODBC @@ -1397,6 +1420,7 @@ URL: http://php.net/manual/en/ref.pdo-pgsql.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-pgsql) +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 @@ -1417,6 +1441,7 @@ URL: http://php.net/manual/en/ref.pdo-sqlite.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-sqlite) +Provides: php(pdo_sqlite) Obsoletes: php-pdo-sqlite < 4:5.3.28-7 Obsoletes: php-pecl-PDO_SQLITE @@ -1455,7 +1480,7 @@ URL: http://php.net/manual/en/book.phar.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-hash = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} -Requires: alternatives +%{?with_alternatives:Requires: alternatives} Suggests: %{name}-cli # zlib is required by phar program, but as phar cli is optional should the dep be too Suggests: %{name}-zlib @@ -1741,6 +1766,9 @@ Summary(pl.UTF-8): Zawiera pliki testów jednostkowych dla PHP i rozszerzeń Group: Libraries URL: http://qa.php.net/ Requires: %{name}-cli +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description tests This package contains unit tests for PHP and its extensions. @@ -1934,7 +1962,7 @@ 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 @@ -2044,22 +2072,22 @@ sed -i -e 's#-fvisibility=hidden##g' configure* # disable broken tests # says just "Terminated" twice and fails -mv sapi/cli/tests/022.phpt{,.broken} +%{__mv} sapi/cli/tests/022.phpt{,.broken} # really dumb test, executable binary name is .libs/ something when building # https://bugs.php.net/bug.php?id=54514 -mv tests/basic/bug54514.phpt{,.disable} +%{__mv} tests/basic/bug54514.phpt{,.disable} # breaks whole testsuite unexpectedly: # Fatal error: Call to undefined function gzencode() in run-tests.php on line 1714 # probably broken as zlib is built as shared -mv ext/soap/tests/server019.phpt{,disable} +%{__mv} ext/soap/tests/server019.phpt{,disable} # Fatal error: Call to undefined function gzcompress() in run-tests.php on line 1728 -mv ext/soap/tests/server020.phpt{,disable} +%{__mv} ext/soap/tests/server020.phpt{,disable} # runs out of memory and kills carme vserver # PASS Bug #39438 (Fatal error: Out of memory) [Zend/tests/bug39438.phpt] -mv Zend/tests/bug39438.phpt{,.disable} +%{__mv} Zend/tests/bug39438.phpt{,.disable} # php-5.3.3/ext/standard/tests/file/statpage.phpt %{__rm} ext/standard/tests/file/statpage.phpt @@ -2243,34 +2271,37 @@ for sapi in $sapis; do sapi_args='' case $sapi in cgi-fcgi) - sapi_args='--disable-cli' + sapi_args='--enable-cgi' ;; cli) - sapi_args='--disable-cgi %{?with_gcov:--enable-gcov}' + sapi_args='--enable-cli %{?with_gcov:--enable-gcov}' ;; fpm) - sapi_args='--disable-cli --disable-cgi --enable-fpm' + sapi_args='--enable-fpm' ;; embed) - sapi_args='--disable-cli --disable-cgi --enable-embed' + sapi_args='--enable-embed' ;; apxs2) ver=$(rpm -q --qf '%{V}' apache-devel) - sapi_args="--disable-cli --disable-cgi --with-apxs2=%{apxs2} --with-apache-version=$ver" + sapi_args="--with-apxs2=%{apxs2} --with-apache-version=$ver" ;; litespeed) - sapi_args='--disable-cli --disable-cgi --with-litespeed' + sapi_args='--with-litespeed' ;; phpdbg) - sapi_args='--disable-cli --disable-cgi --enable-phpdbg %{?debug:--enable-phpdbg-debug}' + sapi_args='--enable-phpdbg %{?debug:--enable-phpdbg-debug}' ;; milter) - sapi_args='--disable-cli --disable-cgi --with-milter' + sapi_args='--with-milter' ;; esac %configure \ EXTRA_LDFLAGS="%{rpmldflags}" \ + --disable-cgi \ + --disable-cli \ + --disable-phpdbg \ $sapi_args \ %if "%{!?configure_cache:0}%{?configure_cache}" == "0" --cache-file=config.cache \ @@ -2531,13 +2562,17 @@ cp -pf Makefile.cli Makefile phpbuilddir=%{_libdir}/%{name}/build \ INSTALL_ROOT=$RPM_BUILD_ROOT +%if %{without default_php} # version the .phar files -mv $RPM_BUILD_ROOT%{_bindir}/phar{,%{ver_suffix}}.phar -mv $RPM_BUILD_ROOT%{_mandir}/man1/phar{,%{ver_suffix}}.1 +%{__mv} $RPM_BUILD_ROOT%{_bindir}/phar{,%{php_suffix}}.phar +%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/phar{,%{php_suffix}}.1 +%endif +%if %{with alternatives} # touch for ghost %{__rm} $RPM_BUILD_ROOT%{_bindir}/phar touch $RPM_BUILD_ROOT%{_bindir}/phar touch $RPM_BUILD_ROOT%{_mandir}/man1/phar.1 +%endif # version suffix v=$(echo %{version} | cut -d. -f1-2) @@ -2545,7 +2580,7 @@ v=$(echo %{version} | cut -d. -f1-2) # install Apache2 DSO module %if %{with apache2} libtool --mode=install install -p sapi/apache2handler/libphp7.la $RPM_BUILD_ROOT%{_libdir}/apache -mv $RPM_BUILD_ROOT%{_libdir}/apache/libphp7{,-$v}.so +%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp7{,-$v}.so ln -s libphp7-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so %endif @@ -2559,9 +2594,11 @@ libtool --mode=install install -p sapi/litespeed/php $RPM_BUILD_ROOT%{_sbindir}/ INSTALL="libtool --mode=install install -p" \ INSTALL_ROOT=$RPM_BUILD_ROOT +%if %{without default_php} # version the phpdbg files -mv $RPM_BUILD_ROOT%{_bindir}/phpdbg{,%{ver_suffix}} -mv $RPM_BUILD_ROOT%{_mandir}/man1/phpdbg{,%{ver_suffix}}.1 +%{__mv} $RPM_BUILD_ROOT%{_bindir}/phpdbg{,%{ver_suffix}} +%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/phpdbg{,%{ver_suffix}}.1 +%endif %endif %if %{with milter} @@ -2594,6 +2631,11 @@ cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-fpm %{__sed} -i -e '/su/d' $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-fpm %endif +%if %{with alternatives} +# touch for ghost for alternatives +touch $RPM_BUILD_ROOT%{_sbindir}/php-fpm +%endif + %{__sed} -i -e ' s#/usr/lib/php#%{php_extensiondir}# s#/etc/php/#%{_sysconfdir}/# @@ -2640,7 +2682,7 @@ cp -p conf.d/*.ini $RPM_BUILD_ROOT%{_sysconfdir}/conf.d install -d $RPM_BUILD_ROOT%{_sysconfdir}/{cgi-fcgi,cli,apache,apache2handler}.d # for CLI SAPI only -mv $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/readline.ini,cli.d} +%{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/readline.ini,cli.d} # use system automake and {lib,sh}tool ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build @@ -2691,11 +2733,17 @@ fi %post fpm /sbin/chkconfig --add %{name}-fpm %service %{name}-fpm restart +%if %{with alternatives} +update-alternatives --install %{_sbindir}/php-fpm php-fpm %{_sbindir}/php%{ver_suffix}-fpm %{ver_suffix} || : +%endif %preun fpm if [ "$1" = "0" ]; then %service %{name}-fpm stop /sbin/chkconfig --del %{name}-fpm +%if %{with alternatives} + update-alternatives --remove php-fpm %{_sbindir}/php-fpm || : +%endif fi %postun fpm @@ -2706,7 +2754,7 @@ fi %post embedded -p /sbin/ldconfig %postun embedded -p /sbin/ldconfig -%post common +%posttrans 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 TIMEZONE= @@ -2716,7 +2764,6 @@ if ! grep -q '^date.timezone[[:space:]]*=' %{_sysconfdir}/php.ini && [ -f /etc/s fi fi -%posttrans common # minimizing apache restarts logics. we restart webserver: # # 1. at the end of transaction. (posttrans, feature from rpm 4.4.2) @@ -2852,15 +2899,19 @@ fi \ %post phar %ext_post +%if %{with alternatives} update-alternatives \ --install %{_bindir}/phar phar %{_bindir}/phar%{ver_suffix}.phar %{ver_suffix} \ --slave %{_mandir}/man1/phar.1 phar.1 %{_mandir}/man1/phar%{ver_suffix}.1* || : +%endif %postun phar %ext_postun +%if %{with alternatives} if [ $1 -eq 0 ]; then update-alternatives --remove phar %{_bindir}/phar || : fi +%endif %if %{with apache2} %files -n apache-mod_%{name} @@ -2913,6 +2964,9 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.conf %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.d/www.conf %attr(755,root,root) %{_sbindir}/%{name}-fpm +%if %{with alternatives} +%ghost %{_sbindir}/php-fpm +%endif %{_mandir}/man8/%{name}-fpm.8* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-fpm %attr(754,root,root) /etc/rc.d/init.d/%{name}-fpm @@ -2921,8 +2975,8 @@ fi %if %{with phpdbg} %files phpdbg %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/phpdbg%{ver_suffix} -%{_mandir}/man1/phpdbg%{ver_suffix}.1* +%attr(755,root,root) %{_bindir}/phpdbg%{php_suffix} +%{_mandir}/man1/phpdbg%{php_suffix}.1* %endif %if %{with milter} @@ -3288,11 +3342,15 @@ fi %doc ext/phar/{CREDITS,TODO} %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/phar.ini %attr(755,root,root) %{php_extensiondir}/phar.so -%attr(755,root,root) %{_bindir}/phar%{ver_suffix}.phar -%{_mandir}/man1/phar.phar.1 -%{_mandir}/man1/phar%{ver_suffix}.1* +%attr(755,root,root) %{_bindir}/phar%{php_suffix}.phar +%{_mandir}/man1/phar%{php_suffix}.1* +%{_mandir}/man1/phar.phar.1* +%if %{with alternatives} %ghost %{_bindir}/phar %ghost %{_mandir}/man1/phar.1 +%else +%attr(755,root,root) %{_bindir}/phar +%endif %endif %if %{with posix}