]> git.pld-linux.org Git - packages/php.git/blobdiff - php.spec
provide php(pdo_*) to be compatibe with docker-php-ext-install
[packages/php.git] / php.spec
index 5fe42d3312def88748e0304058159910510bc791..3db875d5b445401b7888dd7ce47bd3ac5178276c 100644 (file)
--- a/php.spec
+++ b/php.spec
 # 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
 %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
 %undefine      with_litespeed
 %endif
 
+%if %{with default_php}
+%undefine      with_alternatives
+%endif
+
 # mm is not thread safe
 %if %{with zts}
 %undefine      with_mm
 %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}
This page took 0.053236 seconds and 4 git commands to generate.