Move vendor patches into files/.
Fix WITH_DEBUG build, reported by Edward Sanford.
This commit is contained in:
parent
a2388ee3d6
commit
f08cbd6639
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=262683
6 changed files with 132 additions and 18 deletions
|
@ -15,29 +15,14 @@ PKGNAMESUFFIX?=
|
|||
DISTNAME= db-4.4.20
|
||||
DIST_SUBDIR= bdb
|
||||
|
||||
PATCH_SITES= http://www.oracle.com/technology/products/berkeley-db/db/update/4.4.20/
|
||||
PATCHFILES= patch.4.4.20.1 patch.4.4.20.2 patch.4.4.20.3 patch.4.4.20.4
|
||||
PATCH_DIST_STRIP= -d ..
|
||||
# * patch.4.4.20.1: -----------------------------------------------------------
|
||||
# Fix a bug that could cause a trap during recovery if multiple operations that
|
||||
# could remove the same extent were recovered. [#14061]
|
||||
# * patch.4.4.20.2: -----------------------------------------------------------
|
||||
# Fix a bug that could cause traps or hangs if the DB_TXN->set_name function is
|
||||
# used in a multithreaded application. [#14033]
|
||||
# * patch.4.4.20.3: -----------------------------------------------------------
|
||||
# Fix a bug where cursor lookups on secondary databases with off-page
|
||||
# duplicates could fail. [#14240]
|
||||
# * patch.4.4.20.4: -----------------------------------------------------------
|
||||
# Fix a bug where cache buffer retrieval could race with a checkpoint
|
||||
# call, potentially causing database environment recovery to fail. [#14657]
|
||||
|
||||
MAINTAINER= mandree@FreeBSD.org
|
||||
COMMENT= The Berkeley DB package, revision 4.4
|
||||
|
||||
WRKSRC= ${WRKDIR}/${DISTNAME}/build_unix
|
||||
|
||||
USE_LDCONFIG= yes
|
||||
GNU_CONFIGURE= yes
|
||||
GNU_CONFIGURE= yes
|
||||
DEBUG_FLAGS= -g -O1 # need -O1 for inline assembly
|
||||
CONFIGURE_SCRIPT= ../dist/configure
|
||||
LIBTOOLFILES= ${CONFIGURE_SCRIPT}
|
||||
BDBVER= ${PORTVERSION:R:R}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- ../dist/configure.orig Wed Dec 5 13:14:02 2001
|
||||
+++ ../dist/configure Wed Dec 5 13:24:01 2001
|
||||
@@ -20867,8 +20867,8 @@
|
||||
@@ -21657,8 +21657,8 @@
|
||||
|
||||
MAKEFILE_CC="\$(LIBTOOL) --mode=compile ${MAKEFILE_CC}"
|
||||
-MAKEFILE_SOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK} -avoid-version"
|
||||
|
|
27
databases/db44/files/patch-upstream.4.4.20.1
Normal file
27
databases/db44/files/patch-upstream.4.4.20.1
Normal file
|
@ -0,0 +1,27 @@
|
|||
*** ../qam/qam_files.c.orig 2005-10-20 11:57:12.000000000 -0700
|
||||
--- ../qam/qam_files.c 2006-01-27 13:38:38.000000000 -0800
|
||||
***************
|
||||
*** 411,416 ****
|
||||
--- 411,422 ----
|
||||
DB_APP_DATA, buf, 0, NULL, &real_name)) != 0)
|
||||
goto err;
|
||||
#endif
|
||||
+
|
||||
+ mpf = array->mpfarray[offset].mpf;
|
||||
+ /* This extent my already be marked for delete and closed. */
|
||||
+ if (mpf == NULL)
|
||||
+ goto err;
|
||||
+
|
||||
/*
|
||||
* The log must be flushed before the file is deleted. We depend on
|
||||
* the log record of the last delete to recreate the file if we crash.
|
||||
***************
|
||||
*** 418,424 ****
|
||||
if (LOGGING_ON(dbenv) && (ret = __log_flush(dbenv, NULL)) != 0)
|
||||
goto err;
|
||||
|
||||
- mpf = array->mpfarray[offset].mpf;
|
||||
(void)__memp_set_flags(mpf, DB_MPOOL_UNLINK, 1);
|
||||
/* Someone could be real slow, let them close it down. */
|
||||
if (array->mpfarray[offset].pinref != 0)
|
||||
--- 424,429 ----
|
29
databases/db44/files/patch-upstream.4.4.20.2
Normal file
29
databases/db44/files/patch-upstream.4.4.20.2
Normal file
|
@ -0,0 +1,29 @@
|
|||
*** ../txn/txn.c.orig Tue Nov 1 06:50:03 2005
|
||||
--- ../txn/txn.c Tue Jan 31 15:05:13 2006
|
||||
***************
|
||||
*** 1049,1060 ****
|
||||
--- 1049,1062 ----
|
||||
return (ret);
|
||||
memcpy(txn->name, name, len);
|
||||
|
||||
+ TXN_SYSTEM_LOCK(dbenv);
|
||||
if (td->name != INVALID_ROFF) {
|
||||
__db_shalloc_free(
|
||||
&mgr->reginfo, R_ADDR(&mgr->reginfo, td->name));
|
||||
td->name = INVALID_ROFF;
|
||||
}
|
||||
if ((ret = __db_shalloc(&mgr->reginfo, len, 0, &p)) != 0) {
|
||||
+ TXN_SYSTEM_UNLOCK(dbenv);
|
||||
__db_err(dbenv,
|
||||
"Unable to allocate memory for transaction name");
|
||||
|
||||
***************
|
||||
*** 1063,1068 ****
|
||||
--- 1065,1071 ----
|
||||
|
||||
return (ret);
|
||||
}
|
||||
+ TXN_SYSTEM_UNLOCK(dbenv);
|
||||
td->name = R_OFFSET(&mgr->reginfo, p);
|
||||
memcpy(p, name, len);
|
||||
|
49
databases/db44/files/patch-upstream.4.4.20.3
Normal file
49
databases/db44/files/patch-upstream.4.4.20.3
Normal file
|
@ -0,0 +1,49 @@
|
|||
*** ../db/db_cam.c.orig 2006-01-11 03:19:21.000000000 +1100
|
||||
--- ../db/db_cam.c 2006-03-01 13:59:01.000000000 +1100
|
||||
***************
|
||||
*** 579,589 ****
|
||||
flags == DB_NEXT || flags == DB_NEXT_DUP || flags == DB_PREV)) {
|
||||
if (tmp_rmw && (ret = dbc_arg->c_am_writelock(dbc_arg)) != 0)
|
||||
return (ret);
|
||||
! if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0)
|
||||
return (ret);
|
||||
|
||||
! switch (ret =
|
||||
! opd->c_am_get(opd, key, data, flags, NULL)) {
|
||||
case 0:
|
||||
goto done;
|
||||
case DB_NOTFOUND:
|
||||
--- 579,590 ----
|
||||
flags == DB_NEXT || flags == DB_NEXT_DUP || flags == DB_PREV)) {
|
||||
if (tmp_rmw && (ret = dbc_arg->c_am_writelock(dbc_arg)) != 0)
|
||||
return (ret);
|
||||
! if (F_ISSET(dbc_arg, DBC_TRANSIENT))
|
||||
! opd = cp->opd;
|
||||
! else if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0)
|
||||
return (ret);
|
||||
|
||||
! switch (ret = opd->c_am_get(opd, key, data, flags, NULL)) {
|
||||
case 0:
|
||||
goto done;
|
||||
case DB_NOTFOUND:
|
||||
***************
|
||||
*** 596,607 ****
|
||||
--- 597,614 ----
|
||||
if ((ret = __db_c_close(opd)) != 0)
|
||||
goto err;
|
||||
opd = NULL;
|
||||
+ if (F_ISSET(dbc_arg, DBC_TRANSIENT))
|
||||
+ cp->opd = NULL;
|
||||
break;
|
||||
}
|
||||
goto err;
|
||||
default:
|
||||
goto err;
|
||||
}
|
||||
+ } else if (cp->opd != NULL && F_ISSET(dbc_arg, DBC_TRANSIENT)) {
|
||||
+ if ((ret = __db_c_close(cp->opd)) != 0)
|
||||
+ goto err;
|
||||
+ cp->opd = NULL;
|
||||
}
|
||||
|
||||
/*
|
24
databases/db44/files/patch-upstream.4.4.20.4
Normal file
24
databases/db44/files/patch-upstream.4.4.20.4
Normal file
|
@ -0,0 +1,24 @@
|
|||
*** ../mp/mp_fget.c.orig 2005-10-12 10:53:36.000000000 -0700
|
||||
--- ../mp/mp_fget.c 2006-05-30 20:48:10.000000000 -0700
|
||||
***************
|
||||
*** 587,594 ****
|
||||
*/
|
||||
if (state != SECOND_MISS && bhp->ref == 1) {
|
||||
bhp->priority = UINT32_MAX;
|
||||
! SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh);
|
||||
! SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
|
||||
hp->hash_priority =
|
||||
SH_TAILQ_FIRSTP(&hp->hash_bucket, __bh)->priority;
|
||||
}
|
||||
--- 587,597 ----
|
||||
*/
|
||||
if (state != SECOND_MISS && bhp->ref == 1) {
|
||||
bhp->priority = UINT32_MAX;
|
||||
! if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) !=
|
||||
! SH_TAILQ_LAST(&hp->hash_bucket, hq, __bh)) {
|
||||
! SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh);
|
||||
! SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
|
||||
! }
|
||||
hp->hash_priority =
|
||||
SH_TAILQ_FIRSTP(&hp->hash_bucket, __bh)->priority;
|
||||
}
|
Loading…
Reference in a new issue