]> git.pld-linux.org Git - packages/php.git/blob - php-db.patch
- make it possible to coinstall phpXY-pdo-pgsql
[packages/php.git] / php-db.patch
1 diff --git a/ext/dba/config.m4 b/ext/dba/config.m4
2 index 8dc8f1d..4269b1c 100644
3 --- a/ext/dba/config.m4
4 +++ b/ext/dba/config.m4
5 @@ -83,16 +83,16 @@ PHP_ARG_WITH(ndbm,,
6  [  --with-ndbm[=DIR]         DBA: NDBM support], no, no)
7  
8  PHP_ARG_WITH(db4,,
9 -[  --with-db4[=DIR]          DBA: Berkeley DB4 support], no, no)
10 +[  --with-db4[=DIR]          DBA: Oracle Berkeley DB 4.x or 5.x support], no, no)
11  
12  PHP_ARG_WITH(db3,,
13 -[  --with-db3[=DIR]          DBA: Berkeley DB3 support], no, no)
14 +[  --with-db3[=DIR]          DBA: Oracle Berkeley DB 3.x support], no, no)
15  
16  PHP_ARG_WITH(db2,,
17 -[  --with-db2[=DIR]          DBA: Berkeley DB2 support], no, no)
18 +[  --with-db2[=DIR]          DBA: Oracle Berkeley DB 2.x support], no, no)
19  
20  PHP_ARG_WITH(db1,,
21 -[  --with-db1[=DIR]          DBA: Berkeley DB1 support/emulation], no, no)
22 +[  --with-db1[=DIR]          DBA: Oracle Berkeley DB 1.x support/emulation], no, no)
23  
24  PHP_ARG_WITH(dbm,,
25  [  --with-dbm[=DIR]          DBA: DBM support], no, no)
26 @@ -210,7 +210,7 @@ AC_DEFUN([PHP_DBA_DB_CHECK],[
27          ],[
28            AC_EGREP_CPP(yes,[
29  #include "$THIS_INCLUDE"
30 -#if DB_VERSION_MAJOR == $1
31 +#if DB_VERSION_MAJOR == $1 || ($1 == 4 && DB_VERSION_MAJOR == 5)
32              yes
33  #endif
34            ],[
35 @@ -233,7 +233,7 @@ AC_DEFUN([PHP_DBA_DB_CHECK],[
36      AC_MSG_CHECKING([for DB4 minor version and patch level])
37      AC_EGREP_CPP(yes,[
38  #include "$THIS_INCLUDE"
39 -#if DB_VERSION_MINOR != 1 || DB_VERSION_PATCH >= 25
40 +#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)
41        yes
42  #endif
43      ],[
44 @@ -274,12 +274,25 @@ AC_DEFUN([PHP_DBA_DB_CHECK],[
45  # DB4
46  if test "$PHP_DB4" != "no"; then
47    PHP_DBA_STD_BEGIN
48 -  dbdp="/usr/local/BerkeleyDB.4."
49 -  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
50 -    if test -f "$i/db4/db.h"; then
51 +  dbdp4="/usr/local/BerkeleyDB.4."
52 +  dbdp5="/usr/local/BerkeleyDB.5."
53 +  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
54 +    if test -f "$i/db5/db.h"; then
55 +      THIS_PREFIX=$i
56 +      THIS_INCLUDE=$i/db5/db.h
57 +      break
58 +    elif test -f "$i/db4/db.h"; then
59        THIS_PREFIX=$i
60        THIS_INCLUDE=$i/db4/db.h
61        break
62 +    elif test -f "$i/include/db5.1/db.h"; then
63 +      THIS_PREFIX=$i
64 +      THIS_INCLUDE=$i/include/db5.1/db.h
65 +      break
66 +    elif test -f "$i/include/db5.0/db.h"; then
67 +      THIS_PREFIX=$i
68 +      THIS_INCLUDE=$i/include/db5.0/db.h
69 +      break
70      elif test -f "$i/include/db4.8/db.h"; then
71        THIS_PREFIX=$i
72        THIS_INCLUDE=$i/include/db4.8/db.h
73 @@ -314,7 +327,7 @@ if test "$PHP_DB4" != "no"; then
74        break
75      fi
76    done
77 -  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)])
78 +  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)])
79  fi
80  PHP_DBA_STD_RESULT(db4,Berkeley DB4)
81  
82 diff --git a/ext/dba/dba_db4.c b/ext/dba/dba_db4.c
83 index 6bf0095..a75d438 100644
84 --- a/ext/dba/dba_db4.c
85 +++ b/ext/dba/dba_db4.c
86 @@ -37,25 +37,26 @@
87  #endif
88  
89  static void php_dba_db4_errcall_fcn(
90 -#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3)
91 +#if (DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3))
92         const DB_ENV *dbenv, 
93  #endif
94         const char *errpfx, const char *msg)
95  {
96         TSRMLS_FETCH();
97  
98 -#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8 && DB_VERSION_PATCH <= 26) 
99 +#if (DB_VERSION_MAJOR == 5 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8))
100  /* Bug 51086, Berkeley DB 4.8.26 */
101 -/* This code suppresses a BDB 4.8 error message that BDB incorrectly emits */
102 +/* This code suppresses a BDB 4.8+ error message, thus keeping PHP test compatibility */
103         {
104                 char *function = get_active_function_name(TSRMLS_C);
105                 if (function && (!strcmp(function,"dba_popen") || !strcmp(function,"dba_open"))
106 -                       && !strncmp(msg, "fop_read_meta", sizeof("fop_read_meta")-1)) {
107 +                       && (!strncmp(msg, "fop_read_meta", sizeof("fop_read_meta")-1)
108 +                               || !strncmp(msg, "BDB0004 fop_read_meta", sizeof("BDB0004 fop_read_meta")-1))) {
109                         return;
110                 }
111         }
112  #endif
113 -       
114 +
115         php_error_docref(NULL TSRMLS_CC, E_NOTICE, "%s%s", errpfx?errpfx:"", msg);
116  }
117  
118 @@ -124,7 +125,7 @@ DBA_OPEN_FUNC(db4)
119         if ((err=db_create(&dbp, NULL, 0)) == 0) {
120             dbp->set_errcall(dbp, php_dba_db4_errcall_fcn);
121             if (
122 -#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
123 +#if (DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1))
124                         (err=dbp->open(dbp, 0, info->path, NULL, type, gmode, filemode)) == 0) {
125  #else
126                         (err=dbp->open(dbp, info->path, NULL, type, gmode, filemode)) == 0) {
127
This page took 0.04017 seconds and 3 git commands to generate.