summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrecht <recht@pkgsrc.org>2004-07-01 15:17:21 +0000
committerrecht <recht@pkgsrc.org>2004-07-01 15:17:21 +0000
commitd0777e5a0b08f684647d7ba7824b1372720e2ef1 (patch)
tree6122f5dec2c79fafa8c5b43fa53a0a155c9df001
parent01ee3bcd00b3bd3b74d333998df4134be5e1cbd6 (diff)
downloadpkgsrc-d0777e5a0b08f684647d7ba7824b1372720e2ef1.tar.gz
Add two patches from Sleepycat:
1. Long-running applications can hang in the Berkeley DB cache. http://www.sleepycat.com/update/4.2.52/patch.4.2.52.1 as patch-ba 2. Replication clients fail to lock all the necessary pages when applying updates if there were more than one database in the transaction. http://www.sleepycat.com/update/4.2.52/patch.4.2.52.2 as patch-bb Bump PKGREVISION to 4.
-rw-r--r--databases/db4/Makefile4
-rw-r--r--databases/db4/distinfo4
-rw-r--r--databases/db4/patches/patch-ba12
-rw-r--r--databases/db4/patches/patch-bb26
4 files changed, 43 insertions, 3 deletions
diff --git a/databases/db4/Makefile b/databases/db4/Makefile
index 5f212998ebe..392aecf2a31 100644
--- a/databases/db4/Makefile
+++ b/databases/db4/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.20 2004/06/28 22:11:38 jlam Exp $
+# $NetBSD: Makefile,v 1.21 2004/07/01 15:17:21 recht Exp $
DISTNAME= db-4.2.52
PKGNAME= ${DISTNAME:S/db/db4/}
-PKGREVISION= 3
+PKGREVISION= 4
CATEGORIES= databases
MASTER_SITES= http://www.sleepycat.com/update/snapshot/
diff --git a/databases/db4/distinfo b/databases/db4/distinfo
index f03c3ebc64d..8f3affb47a1 100644
--- a/databases/db4/distinfo
+++ b/databases/db4/distinfo
@@ -1,7 +1,9 @@
-$NetBSD: distinfo,v 1.7 2004/06/28 22:11:38 jlam Exp $
+$NetBSD: distinfo,v 1.8 2004/07/01 15:17:21 recht Exp $
SHA1 (db-4.2.52.tar.gz) = 12d21a58efd7b5fd35b56815a8fb1ac2cbab2e5c
Size (db-4.2.52.tar.gz) = 4073147 bytes
SHA1 (patch-aa) = 8fcee1c1e8b53b43ac7969cb0234d203f656dfb9
SHA1 (patch-ab) = 4204cd6171426de613741a9a16e8b32de37c42b2
SHA1 (patch-ac) = b9b52d5604afd12409261294a71b3db20b899476
+SHA1 (patch-ba) = eca5ea4dda5d773f06d6969dfa587463905cf8db
+SHA1 (patch-bb) = af3364aec87ebd4393383730141ce3a8e2286868
diff --git a/databases/db4/patches/patch-ba b/databases/db4/patches/patch-ba
new file mode 100644
index 00000000000..1135ccbe56e
--- /dev/null
+++ b/databases/db4/patches/patch-ba
@@ -0,0 +1,12 @@
+$NetBSD: patch-ba,v 1.1 2004/07/01 15:17:21 recht Exp $
+
+--- ../mp/mp_fput.c.orig 2003-09-30 19:42:07.000000000 +0200
++++ ../mp/mp_fput.c 2004-07-01 15:32:08.000000000 +0200
+@@ -285,6 +285,7 @@
+ bhp != NULL; bhp = SH_TAILQ_NEXT(bhp, hq, __bh))
+ if (bhp->priority != UINT32_T_MAX &&
+ bhp->priority > MPOOL_BASE_DECREMENT)
++ bhp->priority -= MPOOL_BASE_DECREMENT;
+ MUTEX_UNLOCK(dbenv, &hp->hash_mutex);
+ }
+ }
diff --git a/databases/db4/patches/patch-bb b/databases/db4/patches/patch-bb
new file mode 100644
index 00000000000..6cb1b6b5938
--- /dev/null
+++ b/databases/db4/patches/patch-bb
@@ -0,0 +1,26 @@
+$NetBSD: patch-bb,v 1.1 2004/07/01 15:17:21 recht Exp $
+
+--- ../lock/lock.c.orig 2003-11-21 03:40:10.000000000 +0100
++++ ../lock/lock.c 2004-07-01 15:32:08.000000000 +0200
+@@ -2217,9 +2217,10 @@
+ sizeof(db_pgno_t); \
+ } while (0)
+ #define COPY_OBJ(dp, obj) do { \
+- memcpy(dp, obj->data, obj->size); \
++ memcpy(dp, \
++ (obj)->data, (obj)->size); \
+ dp = (u_int8_t *)dp + \
+- ALIGN(obj->size, \
++ ALIGN((obj)->size, \
+ sizeof(u_int32_t)); \
+ } while (0)
+
+@@ -2339,7 +2340,7 @@
+ for (i = 0; i < nlocks; i = j) {
+ PUT_PCOUNT(dp, obj[i].ulen);
+ PUT_SIZE(dp, obj[i].size);
+- COPY_OBJ(dp, obj);
++ COPY_OBJ(dp, &obj[i]);
+ lock = (DB_LOCK_ILOCK *)obj[i].data;
+ for (j = i + 1; j <= i + obj[i].ulen; j++) {
+ lock = (DB_LOCK_ILOCK *)obj[j].data;