diff options
| author | Remi Collet <fedora@famillecollet.com> | 2017-03-17 09:19:56 +0100 | 
|---|---|---|
| committer | Remi Collet <fedora@famillecollet.com> | 2017-03-17 09:19:56 +0100 | 
| commit | d1b502b17208ec87847635ea5ac59470a3770a35 (patch) | |
| tree | 0662568c3fd6da77f3eb4242998a01f069647591 | |
| parent | c0c10c53657c9903c1273c3d9c18278a10303d3c (diff) | |
php56 for F26 (wip)
| -rw-r--r-- | php-5.6.30-interbase.patch | 169 | ||||
| -rw-r--r-- | php-5.6.30-openssl11.patch | 53 | ||||
| -rw-r--r-- | php.spec | 18 | 
3 files changed, 236 insertions, 4 deletions
diff --git a/php-5.6.30-interbase.patch b/php-5.6.30-interbase.patch new file mode 100644 index 0000000..ea7afbd --- /dev/null +++ b/php-5.6.30-interbase.patch @@ -0,0 +1,169 @@ +Adapted for 5.6 from  + +From 397bedcc7c3545510a22b7db8dc6444e0a05b085 Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@php.net> +Date: Wed, 16 Nov 2016 10:45:59 +0100 +Subject: [PATCH] Fixed bug #73512 Fails to find firebird headers + +- use fb_config output instead of relying on hardoded path + +diff -up ./ext/interbase/config.m4.fb_config ./ext/interbase/config.m4 +--- ./ext/interbase/config.m4.fb_config	2017-03-17 08:58:57.061708947 +0100 ++++ ./ext/interbase/config.m4	2017-03-17 09:04:53.389584385 +0100 +@@ -3,39 +3,54 @@ PHP_ARG_WITH(interbase,for InterBase sup +                           install directory [/usr/interbase]]) +  + if test "$PHP_INTERBASE" != "no"; then +-  if test "$PHP_INTERBASE" = "yes"; then +-    IBASE_INCDIR=/usr/interbase/include +-    IBASE_LIBDIR=/usr/interbase/lib ++ ++  AC_PATH_PROG(FB_CONFIG, fb_config, no) ++ ++  if test -x "$FB_CONFIG" && test "$PHP_INTERBASE" = "yes"; then ++    AC_MSG_CHECKING(for libfbconfig) ++    FB_CFLAGS=`$FB_CONFIG --cflags` ++    FB_LIBDIR=`$FB_CONFIG --libs` ++    FB_VERSION=`$FB_CONFIG --version` ++    AC_MSG_RESULT(version $FB_VERSION) ++    PHP_EVAL_LIBLINE($FB_LIBDIR, INTERBASE_SHARED_LIBADD) ++    PHP_EVAL_INCLINE($FB_CFLAGS) ++ +   else +-    IBASE_INCDIR=$PHP_INTERBASE/include +-    IBASE_LIBDIR=$PHP_INTERBASE/$PHP_LIBDIR +-  fi ++    if test "$PHP_INTERBASE" = "yes"; then ++      IBASE_INCDIR=/usr/interbase/include ++      IBASE_LIBDIR=/usr/interbase/lib ++    else ++      IBASE_INCDIR=$PHP_INTERBASE/include ++      IBASE_LIBDIR=$PHP_INTERBASE/$PHP_LIBDIR ++    fi +  +-  PHP_CHECK_LIBRARY(fbclient, isc_detach_database, +-  [ +-    IBASE_LIBNAME=fbclient +-  ], [ +-    PHP_CHECK_LIBRARY(gds, isc_detach_database, ++    PHP_CHECK_LIBRARY(fbclient, isc_detach_database, +     [ +-      IBASE_LIBNAME=gds ++      IBASE_LIBNAME=fbclient +     ], [ +-      PHP_CHECK_LIBRARY(ib_util, isc_detach_database, ++      PHP_CHECK_LIBRARY(gds, isc_detach_database, +       [ +-        IBASE_LIBNAME=ib_util ++        IBASE_LIBNAME=gds +       ], [ +-        AC_MSG_ERROR([libgds, libib_util or libfbclient not found! Check config.log for more information.]) ++        PHP_CHECK_LIBRARY(ib_util, isc_detach_database, ++        [ ++          IBASE_LIBNAME=ib_util ++        ], [ ++          AC_MSG_ERROR([libgds, libib_util or libfbclient not found! Check config.log for more information.]) ++        ], [ ++          -L$IBASE_LIBDIR ++        ]) +       ], [ +         -L$IBASE_LIBDIR +       ]) +     ], [ +       -L$IBASE_LIBDIR +     ]) +-  ], [ +-    -L$IBASE_LIBDIR +-  ]) +    +-  PHP_ADD_LIBRARY_WITH_PATH($IBASE_LIBNAME, $IBASE_LIBDIR, INTERBASE_SHARED_LIBADD) +-  PHP_ADD_INCLUDE($IBASE_INCDIR) ++    PHP_ADD_LIBRARY_WITH_PATH($IBASE_LIBNAME, $IBASE_LIBDIR, INTERBASE_SHARED_LIBADD) ++    PHP_ADD_INCLUDE($IBASE_INCDIR) ++  fi ++ +   AC_DEFINE(HAVE_IBASE,1,[ ]) +   PHP_NEW_EXTENSION(interbase, interbase.c ibase_query.c ibase_service.c ibase_events.c ibase_blobs.c, $ext_shared) +   PHP_SUBST(INTERBASE_SHARED_LIBADD) +diff -up ./ext/pdo_firebird/config.m4.fb_config ./ext/pdo_firebird/config.m4 +--- ./ext/pdo_firebird/config.m4.fb_config	2017-01-19 01:17:47.000000000 +0100 ++++ ./ext/pdo_firebird/config.m4	2017-03-17 08:58:57.061708947 +0100 +@@ -8,43 +8,56 @@ if test "$PHP_PDO_FIREBIRD" != "no"; the +     AC_MSG_ERROR([PDO is not enabled! Add --enable-pdo to your configure line.]) +   fi +  +-  if test "$PHP_PDO_FIREBIRD" = "yes"; then +-    FIREBIRD_INCDIR= +-    FIREBIRD_LIBDIR= +-    FIREBIRD_LIBDIR_FLAG= ++  AC_PATH_PROG(FB_CONFIG, fb_config, no) ++ ++  if test -x "$FB_CONFIG" && test "$PHP_PDO_FIREBIRD" = "yes"; then ++    AC_MSG_CHECKING(for libfbconfig) ++    FB_CFLAGS=`$FB_CONFIG --cflags` ++    FB_LIBDIR=`$FB_CONFIG --libs` ++    FB_VERSION=`$FB_CONFIG --version` ++    AC_MSG_RESULT(version $FB_VERSION) ++    PHP_EVAL_LIBLINE($FB_LIBDIR, PDO_FIREBIRD_SHARED_LIBADD) ++    PHP_EVAL_INCLINE($FB_CFLAGS) ++ +   else +-    FIREBIRD_INCDIR=$PHP_PDO_FIREBIRD/include +-    FIREBIRD_LIBDIR=$PHP_PDO_FIREBIRD/$PHP_LIBDIR +-    FIREBIRD_LIBDIR_FLAG=-L$FIREBIRD_LIBDIR +-  fi ++    if test "$PHP_PDO_FIREBIRD" = "yes"; then ++      FIREBIRD_INCDIR= ++      FIREBIRD_LIBDIR= ++      FIREBIRD_LIBDIR_FLAG= ++    else ++      FIREBIRD_INCDIR=$PHP_PDO_FIREBIRD/include ++      FIREBIRD_LIBDIR=$PHP_PDO_FIREBIRD/$PHP_LIBDIR ++      FIREBIRD_LIBDIR_FLAG=-L$FIREBIRD_LIBDIR ++    fi +  +-  PHP_CHECK_LIBRARY(fbclient, isc_detach_database, +-  [ +-    FIREBIRD_LIBNAME=fbclient +-  ], [ +-    PHP_CHECK_LIBRARY(gds, isc_detach_database, ++    PHP_CHECK_LIBRARY(fbclient, isc_detach_database, +     [ +-      FIREBIRD_LIBNAME=gds ++      FIREBIRD_LIBNAME=fbclient +     ], [ +-      PHP_CHECK_LIBRARY(ib_util, isc_detach_database, ++      PHP_CHECK_LIBRARY(gds, isc_detach_database, +       [ +-        FIREBIRD_LIBNAME=ib_util ++        FIREBIRD_LIBNAME=gds +       ], [ +-        AC_MSG_ERROR([libfbclient, libgds or libib_util not found! Check config.log for more information.]) ++        PHP_CHECK_LIBRARY(ib_util, isc_detach_database, ++        [ ++          FIREBIRD_LIBNAME=ib_util ++        ], [ ++          AC_MSG_ERROR([libfbclient, libgds or libib_util not found! Check config.log for more information.]) ++        ], [ ++          $FIREBIRD_LIBDIR_FLAG ++        ]) +       ], [ +         $FIREBIRD_LIBDIR_FLAG +       ]) +     ], [ +       $FIREBIRD_LIBDIR_FLAG +     ]) +-  ], [ +-    $FIREBIRD_LIBDIR_FLAG +-  ]) ++    PHP_ADD_LIBRARY_WITH_PATH($FIREBIRD_LIBNAME, $FIREBIRD_LIBDIR, PDO_FIREBIRD_SHARED_LIBADD) ++    PHP_ADD_INCLUDE($FIREBIRD_INCDIR) ++  fi +   +   PHP_CHECK_PDO_INCLUDES +  +-  PHP_ADD_LIBRARY_WITH_PATH($FIREBIRD_LIBNAME, $FIREBIRD_LIBDIR, PDO_FIREBIRD_SHARED_LIBADD) +-  PHP_ADD_INCLUDE($FIREBIRD_INCDIR) +   AC_DEFINE(HAVE_PDO_FIREBIRD,1,[ ]) +   PHP_NEW_EXTENSION(pdo_firebird, pdo_firebird.c firebird_driver.c firebird_statement.c, $ext_shared,,-I$pdo_cv_inc_path) +   PHP_SUBST(PDO_FIREBIRD_SHARED_LIBADD) diff --git a/php-5.6.30-openssl11.patch b/php-5.6.30-openssl11.patch new file mode 100644 index 0000000..d7657ff --- /dev/null +++ b/php-5.6.30-openssl11.patch @@ -0,0 +1,53 @@ +diff --git a/ext/phar/util.c b/ext/phar/util.c +index 828be8f..06e4e55 100644 +--- a/ext/phar/util.c ++++ b/ext/phar/util.c +@@ -1531,7 +1531,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ + 			BIO *in; + 			EVP_PKEY *key; + 			EVP_MD *mdtype = (EVP_MD *) EVP_sha1(); +-			EVP_MD_CTX md_ctx; ++			EVP_MD_CTX *md_ctx; + #else + 			int tempsig; + #endif +@@ -1608,7 +1608,8 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ + 				return FAILURE; + 			} +  +-			EVP_VerifyInit(&md_ctx, mdtype); ++			md_ctx = EVP_MD_CTX_create(); ++			EVP_VerifyInit(md_ctx, mdtype); + 			read_len = end_of_phar; +  + 			if (read_len > sizeof(buf)) { +@@ -1620,7 +1621,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ + 			php_stream_seek(fp, 0, SEEK_SET); +  + 			while (read_size && (len = php_stream_read(fp, (char*)buf, read_size)) > 0) { +-				EVP_VerifyUpdate (&md_ctx, buf, len); ++				EVP_VerifyUpdate (md_ctx, buf, len); + 				read_len -= (off_t)len; +  + 				if (read_len < read_size) { +@@ -1628,9 +1629,9 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ + 				} + 			} +  +-			if (EVP_VerifyFinal(&md_ctx, (unsigned char *)sig, sig_len, key) != 1) { ++			if (EVP_VerifyFinal(md_ctx, (unsigned char *)sig, sig_len, key) != 1) { + 				/* 1: signature verified, 0: signature does not match, -1: failed signature operation */ +-				EVP_MD_CTX_cleanup(&md_ctx); ++				EVP_MD_CTX_destroy(md_ctx); +  + 				if (error) { + 					spprintf(error, 0, "broken openssl signature"); +@@ -1639,7 +1640,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ + 				return FAILURE; + 			} +  +-			EVP_MD_CTX_cleanup(&md_ctx); ++			EVP_MD_CTX_destroy(md_ctx); + #endif +  + 			*signature_len = phar_hex_str((const char*)sig, sig_len, signature TSRMLS_CC); @@ -30,7 +30,7 @@  %global oci8ver     2.0.12  # Use for first build of PHP (before pecl/zip and pecl/jsonc) -%global php_bootstrap   0 +%global php_bootstrap   1  # Adds -z now to the linker flags  %global _hardened_build 1 @@ -138,7 +138,7 @@  %endif  #global rcver  RC1 -%global rpmrel 3 +%global rpmrel 0  Summary: PHP scripting language for creating dynamic web sites  Name: %{?scl_prefix}php @@ -173,6 +173,8 @@ Source50: opcache.ini  Source51: opcache-default.blacklist  # Build fixes +Patch1: php-5.6.30-interbase.patch +Patch2: php-5.6.30-openssl11.patch  Patch5: php-5.6.3-includedir.patch  Patch6: php-5.6.3-embed.patch  Patch7: php-5.3.0-recode.patch @@ -874,6 +876,10 @@ support for using the enchant library to PHP.  %setup -q -n php-%{version}%{?rcver} +%patch1 -p1 -b .fb_config +%if 0%{?fedora} >= 26 +%patch2 -p1 -b .openssl11 +%endif  %patch5 -p1 -b .includedir  %patch6 -p1 -b .embed  %patch7 -p1 -b .recode @@ -1165,8 +1171,8 @@ build --libdir=%{_libdir}/php \        --with-pdo-oci=shared,instantclient,%{_root_prefix},%{oraclever} \  %endif  %if %{with_interbase} -      --with-interbase=shared,%{_libdir}/firebird \ -      --with-pdo-firebird=shared,%{_libdir}/firebird \ +      --with-interbase=shared \ +      --with-pdo-firebird=shared \  %endif        --enable-dom=shared \        --with-pgsql=shared \ @@ -1826,6 +1832,10 @@ fi  %changelog +* Fri Mar 17 2017 Remi Collet <remi@remirepo.net> - 5.6.30-4 +- add patch for firebird configuration +- add patch for OpenSSL 1.1 on F26 +  * Fri Jan 20 2017 Remi Collet <remi@fedoraproject.org> 5.6.30-3  - disable dtrace by default, this may be enabled again using    environment variable USE_ZEND_DTRACE=1, backported from PHP 7  | 
