--- php-4.3.2/ext/dba/config.m4.orig Wed May 21 02:35:29 2003 +++ php-4.3.2/ext/dba/config.m4 Mon Jun 23 11:53:32 2003 @@ -176,13 +176,13 @@ AC_MSG_CHECKING(if dba can be used as shared extension) AC_EGREP_CPP(yes,[ #include "$THIS_INCLUDE" -#if DB_VERSION_MAJOR > 3 || (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR > 2) +#if DB_VERSION_MAJOR > 3 || (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR > 0) yes #endif ],[ AC_MSG_RESULT(yes) ],[ - AC_MSG_ERROR(At least version 3.3 is required) + AC_MSG_ERROR(At least version 3.1 is required) ]) fi if test -n "$THIS_LIBS"; then diff -urN php-4.4.9.org/ext/dba/config.m4 php-4.4.9/ext/dba/config.m4 --- php-4.4.9.org/ext/dba/config.m4 2006-11-28 12:41:35.000000000 +0100 +++ php-4.4.9/ext/dba/config.m4 2013-02-19 22:27:18.489827804 +0100 @@ -144,7 +144,7 @@ ],[ 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 ],[ @@ -201,7 +201,11 @@ if test "$withval" != "no"; then PHP_DBA_STD_BEGIN for i in $withval /usr/local/BerkeleyDB.4.2 /usr/local/BerkeleyDB.4.1 /usr/local/BerkeleyDB.4.0 /usr/local /usr; do - if test -f "$i/db4/db.h"; then + 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 @@ -223,7 +227,7 @@ break fi done - PHP_DBA_DB_CHECK(4, 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.3 db-5.2 db-5.1 db-5.0 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 ]) AC_DBA_STD_RESULT(db4,Berkeley DB4) --- php-4.4.9/ext/dba/dba_db4.c~ 2007-12-31 08:22:46.000000000 +0100 +++ php-4.4.9/ext/dba/dba_db4.c 2013-02-19 22:49:25.452772010 +0100 @@ -35,7 +35,11 @@ #include #endif -static void php_dba_db4_errcall_fcn(const char *errpfx, char *msg) +static void php_dba_db4_errcall_fcn( +#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(); @@ -85,14 +89,10 @@ filemode = Z_LVAL_PP(info->argv[0]); } -#ifdef DB_FCNTL_LOCKING - gmode |= DB_FCNTL_LOCKING; -#endif - 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) {