[packages/php/PHP_5_2] - rel 20 ; fix php 5.3 build

arekm arekm at pld-linux.org
Fri Sep 14 13:13:07 CEST 2012


commit 5cfb7d04be2f311c7ceec24a57fdce04be60b371
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Fri Sep 14 13:13:04 2012 +0200

    - rel 20 ; fix php 5.3 build

 php-db.patch | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 php.spec     |   4 +-
 2 files changed, 130 insertions(+), 1 deletion(-)
---
diff --git a/php.spec b/php.spec
index cddd8bd..5c83801 100644
--- a/php.spec
+++ b/php.spec
@@ -120,7 +120,7 @@ Summary(ru.UTF-8):	PHP Версии 5 - язык препроцессирова
 Summary(uk.UTF-8):	PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері
 Name:		%{orgname}%{php_suffix}
 Version:	5.2.17
-Release:	19
+Release:	20
 Epoch:		4
 License:	PHP
 Group:		Libraries
@@ -204,6 +204,7 @@ Patch60:	bug-60986.patch
 # http://spot.fedorapeople.org/php-5.3.6-libzip.patch
 Patch65:	system-libzip.patch
 Patch66:	bug-47930.patch
+Patch67:	php-db.patch
 # CENTALT patches
 # CVE
 Patch201: php-5.2.17-CVE-2011-2202.patch
@@ -1985,6 +1986,7 @@ done
 %patch60 -p4
 %{?with_system_libzip:%patch65 -p1}
 %patch66 -p2
+%patch67 -p1
 
 %patch201 -p1 -b .CVE-2011-2202
 %patch202 -p1 -b .CVE-2011-1938
diff --git a/php-db.patch b/php-db.patch
new file mode 100644
index 0000000..0c19599
--- /dev/null
+++ b/php-db.patch
@@ -0,0 +1,127 @@
+diff --git a/ext/dba/config.m4 b/ext/dba/config.m4
+index 8dc8f1d..4269b1c 100644
+--- a/ext/dba/config.m4
++++ b/ext/dba/config.m4
+@@ -83,16 +83,16 @@ PHP_ARG_WITH(ndbm,,
+ [  --with-ndbm[=DIR]         DBA: NDBM support], no, no)
+ 
+ PHP_ARG_WITH(db4,,
+-[  --with-db4[=DIR]          DBA: Berkeley DB4 support], no, no)
++[  --with-db4[=DIR]          DBA: Oracle Berkeley DB 4.x or 5.x support], no, no)
+ 
+ PHP_ARG_WITH(db3,,
+-[  --with-db3[=DIR]          DBA: Berkeley DB3 support], no, no)
++[  --with-db3[=DIR]          DBA: Oracle Berkeley DB 3.x support], no, no)
+ 
+ PHP_ARG_WITH(db2,,
+-[  --with-db2[=DIR]          DBA: Berkeley DB2 support], no, no)
++[  --with-db2[=DIR]          DBA: Oracle Berkeley DB 2.x support], no, no)
+ 
+ PHP_ARG_WITH(db1,,
+-[  --with-db1[=DIR]          DBA: Berkeley DB1 support/emulation], no, no)
++[  --with-db1[=DIR]          DBA: Oracle Berkeley DB 1.x support/emulation], no, no)
+ 
+ PHP_ARG_WITH(dbm,,
+ [  --with-dbm[=DIR]          DBA: DBM support], no, no)
+@@ -210,7 +210,7 @@ AC_DEFUN([PHP_DBA_DB_CHECK],[
+         ],[
+           AC_EGREP_CPP(yes,[
+ #include "$THIS_INCLUDE"
+-#if DB_VERSION_MAJOR == $1
++#if DB_VERSION_MAJOR == $1 || ($1 == 4 && DB_VERSION_MAJOR == 5)
+             yes
+ #endif
+           ],[
+@@ -233,7 +233,7 @@ AC_DEFUN([PHP_DBA_DB_CHECK],[
+     AC_MSG_CHECKING([for DB4 minor version and patch level])
+     AC_EGREP_CPP(yes,[
+ #include "$THIS_INCLUDE"
+-#if DB_VERSION_MINOR != 1 || DB_VERSION_PATCH >= 25
++#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR != 1) || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 1 && DB_VERSION_PATCH >= 25)
+       yes
+ #endif
+     ],[
+@@ -274,12 +274,25 @@ AC_DEFUN([PHP_DBA_DB_CHECK],[
+ # DB4
+ if test "$PHP_DB4" != "no"; then
+   PHP_DBA_STD_BEGIN
+-  dbdp="/usr/local/BerkeleyDB.4."
+-  for i in $PHP_DB4 ${dbdp}8 ${dbdp}7 ${dbdp}6 ${dbdp}5 ${dbdp}4 ${dbdp}3 ${dbdp}2 ${dbdp}1 ${dbdp}0 /usr/local /usr; do
+-    if test -f "$i/db4/db.h"; then
++  dbdp4="/usr/local/BerkeleyDB.4."
++  dbdp5="/usr/local/BerkeleyDB.5."
++  for i in $PHP_DB4 ${dbdp5}1 ${dbdp5}0 ${dbdp4}8 ${dbdp4}7 ${dbdp4}6 ${dbdp4}5 ${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 ${dbdp}0 /usr/local /usr; do
++    if test -f "$i/db5/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/db5/db.h
++      break
++    elif test -f "$i/db4/db.h"; then
+       THIS_PREFIX=$i
+       THIS_INCLUDE=$i/db4/db.h
+       break
++    elif test -f "$i/include/db5.1/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/include/db5.1/db.h
++      break
++    elif test -f "$i/include/db5.0/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/include/db5.0/db.h
++      break
+     elif test -f "$i/include/db4.8/db.h"; then
+       THIS_PREFIX=$i
+       THIS_INCLUDE=$i/include/db4.8/db.h
+@@ -314,7 +327,7 @@ if test "$PHP_DB4" != "no"; then
+       break
+     fi
+   done
+-  PHP_DBA_DB_CHECK(4, db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
++  PHP_DBA_DB_CHECK(4, db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
+ fi
+ PHP_DBA_STD_RESULT(db4,Berkeley DB4)
+ 
+diff --git a/ext/dba/dba_db4.c b/ext/dba/dba_db4.c
+index 6bf0095..a75d438 100644
+--- a/ext/dba/dba_db4.c
++++ b/ext/dba/dba_db4.c
+@@ -37,25 +37,26 @@
+ #endif
+ 
+ static void php_dba_db4_errcall_fcn(
+-#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3)
++#if (DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3))
+ 	const DB_ENV *dbenv, 
+ #endif
+ 	const char *errpfx, const char *msg)
+ {
+ 	TSRMLS_FETCH();
+ 
+-#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8 && DB_VERSION_PATCH <= 26) 
++#if (DB_VERSION_MAJOR == 5 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8))
+ /* Bug 51086, Berkeley DB 4.8.26 */
+-/* This code suppresses a BDB 4.8 error message that BDB incorrectly emits */
++/* This code suppresses a BDB 4.8+ error message, thus keeping PHP test compatibility */
+ 	{
+ 		char *function = get_active_function_name(TSRMLS_C);
+ 		if (function && (!strcmp(function,"dba_popen") || !strcmp(function,"dba_open"))
+-			&& !strncmp(msg, "fop_read_meta", sizeof("fop_read_meta")-1)) {
++			&& (!strncmp(msg, "fop_read_meta", sizeof("fop_read_meta")-1)
++				|| !strncmp(msg, "BDB0004 fop_read_meta", sizeof("BDB0004 fop_read_meta")-1))) {
+ 			return;
+ 		}
+ 	}
+ #endif
+-	
++
+ 	php_error_docref(NULL TSRMLS_CC, E_NOTICE, "%s%s", errpfx?errpfx:"", msg);
+ }
+ 
+@@ -124,7 +125,7 @@ DBA_OPEN_FUNC(db4)
+ 	if ((err=db_create(&dbp, NULL, 0)) == 0) {
+ 	    dbp->set_errcall(dbp, php_dba_db4_errcall_fcn);
+ 	    if (
+-#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
++#if (DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1))
+ 			(err=dbp->open(dbp, 0, info->path, NULL, type, gmode, filemode)) == 0) {
+ #else
+ 			(err=dbp->open(dbp, info->path, NULL, type, gmode, filemode)) == 0) {
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/php.git/commitdiff/5cfb7d04be2f311c7ceec24a57fdce04be60b371



More information about the pld-cvs-commit mailing list