]> git.pld-linux.org Git - packages/php.git/blobdiff - php.spec
organize bconds by category
[packages/php.git] / php.spec
index 001880fb80e3b3a327ab6496f2c9057c93d3cefe..13ab3df51524fd36e661b163dce85b327f1a307b 100644 (file)
--- a/php.spec
+++ b/php.spec
@@ -3,7 +3,6 @@
 # - 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
 #   -  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)
 # standard
 #
 # Conditional build:
-%bcond_with    interbase_inst  # use InterBase install., not Firebird  (BR: proprietary libs)
-%bcond_with    oci             # 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_with    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
-%bcond_without mysqlnd         # without 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
 %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 phpdbg          # disable phpdbg SAPI
-%bcond_with    milter          # disable Milter SAPI
-%bcond_with    suhosin         # with suhosin patch, has little point in PHP>=5.3, see https://github.com/stefanesser/suhosin/issues/42#issuecomment-41728178
-%bcond_with    tests           # default off; test process very often hangs on builders, approx run time 45m; perform "make test"
-%bcond_with    gcov            # Enable Code coverage reporting
-%bcond_with    type_hints      # experimental support for strict typing/casting
 
 %define apxs1          /usr/sbin/apxs1
 %define        apxs2           /usr/sbin/apxs
 %undefine      with_milter
 %endif
 
-%ifnarch %{ix86} %{x8664} sparc sparcv9 alpha
+%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
@@ -144,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.6.2
-Release:       %{rel}%{?with_type_hints:.th}
+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: c976f54d429a0e5214659b0098e44e37
+# 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
@@ -166,7 +164,6 @@ 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
@@ -174,13 +171,9 @@ 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
@@ -211,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}
@@ -234,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
@@ -277,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}
@@ -317,7 +311,7 @@ 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.12.4
+%define                zipver          1.12.5
 %define                phpdbgver       0.4.0
 
 %define                _zend_zts               %{!?with_zts:0}%{?with_zts:1}
@@ -555,17 +549,18 @@ 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:    %{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
@@ -610,6 +605,7 @@ 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.
@@ -1999,20 +1995,15 @@ cp -p php.ini-production php.ini
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-%patch4 -p1
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
 %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
@@ -2031,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
@@ -2050,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
-%{?with_fpm:%patch69 -p1}
 %patch70 -p1
+%patch71 -p1
 
 sed -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4
 
@@ -2131,6 +2135,9 @@ ix86= x8664=:
 %endif
 %ifarch %{x8664}
 ix86=: x8664= \
+%endif
+%ifarch x32
+ix86=: x8664=: \
 %endif
        sh -xe %{_sourcedir}/skip-tests.sh
 
@@ -2324,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 \
@@ -2341,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}
@@ -2388,7 +2396,7 @@ 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_oci:--with-oci8=shared%{?with_instantclient:,instantclient,%{_libdir}}} \
        %{?with_opcache:--enable-opcache=shared} \
@@ -2404,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} \
@@ -2659,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
@@ -2692,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
@@ -2808,6 +2816,14 @@ for f in /etc/php/*.ini.rpmsave /etc/php/*.d/*.ini.rpmsave; do
        ' $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 \
@@ -2977,7 +2993,6 @@ fi
 %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}
 
@@ -3161,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
@@ -3235,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}
This page took 0.059969 seconds and 4 git commands to generate.