Revert "db: update to 4.5.20"

db 4.5.x is not very well supported currently. Found problems
with python, ruby and apr. Seems better to stick with 4.4 for
now.

This reverts commit 71bc4ab36ffc7abdf70d66c076923adc2eb31980.
This commit is contained in:
Juergen Daubert 2006-11-25 15:46:29 +01:00
parent f3fea79ee8
commit 9cd4b047bf
5 changed files with 20 additions and 103 deletions

View File

@ -16,15 +16,15 @@ drwxr-xr-x root/root usr/include/
-rw-r--r-- root/root usr/include/db_185.h
-rw-r--r-- root/root usr/include/db_cxx.h
drwxr-xr-x root/root usr/lib/
-rw-r--r-- root/root usr/lib/libdb-4.5.a
-rw-r--r-- root/root usr/lib/libdb-4.5.la
-rwxr-xr-x root/root usr/lib/libdb-4.5.so
lrwxrwxrwx root/root usr/lib/libdb-4.so -> libdb-4.5.so
-rw-r--r-- root/root usr/lib/libdb-4.4.a
-rw-r--r-- root/root usr/lib/libdb-4.4.la
-rwxr-xr-x root/root usr/lib/libdb-4.4.so
lrwxrwxrwx root/root usr/lib/libdb-4.so -> libdb-4.4.so
-rw-r--r-- root/root usr/lib/libdb.a
lrwxrwxrwx root/root usr/lib/libdb.so -> libdb-4.5.so
-rw-r--r-- root/root usr/lib/libdb_cxx-4.5.a
-rw-r--r-- root/root usr/lib/libdb_cxx-4.5.la
-rwxr-xr-x root/root usr/lib/libdb_cxx-4.5.so
lrwxrwxrwx root/root usr/lib/libdb_cxx-4.so -> libdb_cxx-4.5.so
lrwxrwxrwx root/root usr/lib/libdb.so -> libdb-4.4.so
-rw-r--r-- root/root usr/lib/libdb_cxx-4.4.a
-rw-r--r-- root/root usr/lib/libdb_cxx-4.4.la
-rwxr-xr-x root/root usr/lib/libdb_cxx-4.4.so
lrwxrwxrwx root/root usr/lib/libdb_cxx-4.so -> libdb_cxx-4.4.so
-rw-r--r-- root/root usr/lib/libdb_cxx.a
lrwxrwxrwx root/root usr/lib/libdb_cxx.so -> libdb_cxx-4.5.so
lrwxrwxrwx root/root usr/lib/libdb_cxx.so -> libdb_cxx-4.4.so

View File

@ -1,3 +1,5 @@
3154c250247b1c2bf6f91ab6a3365961 db-4.5.20.1.patch
fd1ec2d2c6eee9ff7a7f5f19b663440e db-4.5.20.2.patch
b0f1c777708cb8e9d37fb47e7ed3312d db-4.5.20.tar.gz
d84dff288a19186b136b0daf7067ade3 db-4.4.20.tar.gz
66584d621355df055b6e05b4a02e9c3e patch.4.4.20.1
85df93a0867f6cace3501671cdeb6ed1 patch.4.4.20.2
88ee91889ebf5498b22b2e7bed945d41 patch.4.4.20.3
c2ef7b3e59460c35950fab5f2faa3fc0 patch.4.4.20.4

View File

@ -1,17 +1,16 @@
# Description: Berkeley DB
# URL: http://www.oracle.com/technology/products/berkeley-db/
# URL: http://www.sleepycat.com/products/db.shtml
# Maintainer: Per Lidén, core-ports at crux dot nu
name=db
version=4.5.20
release=1
version=4.4.20
release=2
source=(http://download.oracle.com/berkeley-db/$name-$version.tar.gz \
db-4.5.20.1.patch db-4.5.20.2.patch)
http://www.oracle.com/technology/products/berkeley-db/db/update/4.4.20/patch.4.4.20.{1,2,3,4})
build() {
cd $name-$version
patch -p1 -i $SRC/db-4.5.20.1.patch
patch -p1 -i $SRC/db-4.5.20.2.patch
cat $SRC/patch.4.4.20.{1,2,3,4} | patch -p0
cd build_unix
LDFLAGS="-lpthread" \
../dist/configure --prefix=/usr \

View File

@ -1,32 +0,0 @@
diff -Nru db-4.5.20.orig/sequence/sequence.c db-4.5.20/sequence/sequence.c
--- db-4.5.20.orig/sequence/sequence.c 2006-11-18 10:37:11.000000000 +0100
+++ db-4.5.20/sequence/sequence.c 2006-11-18 10:44:31.000000000 +0100
@@ -228,6 +228,9 @@
seq->seq_data.ulen = seq->seq_data.size = sizeof(seq->seq_record);
seq->seq_rp = &seq->seq_record;
+ if ((ret = __dbt_usercopy(dbenv, keyp)) != 0)
+ goto err;
+
memset(&seq->seq_key, 0, sizeof(DBT));
if ((ret = __os_malloc(dbenv, keyp->size, &seq->seq_key.data)) != 0)
goto err;
@@ -365,6 +368,7 @@
ret = t_ret;
ENV_LEAVE(dbenv, ip);
+ __dbt_userfree(dbenv, keyp, NULL, NULL);
return (ret);
}
@@ -765,6 +769,10 @@
{
SEQ_ILLEGAL_BEFORE_OPEN(seq, "DB_SEQUENCE->get_key");
+ if (F_ISSET(key, DB_DBT_USERCOPY))
+ return (__db_retcopy(seq->seq_dbp->dbenv, key,
+ seq->seq_key.data, seq->seq_key.size, NULL, 0));
+
key->data = seq->seq_key.data;
key->size = key->ulen = seq->seq_key.size;
key->flags = seq->seq_key.flags;

View File

@ -1,52 +0,0 @@
diff -Nru db-4.5.20.orig/rep/rep_method.c db-4.5.20/rep/rep_method.c
--- db-4.5.20.orig/rep/rep_method.c 2006-11-18 10:37:10.000000000 +0100
+++ db-4.5.20/rep/rep_method.c 2006-11-18 10:47:38.000000000 +0100
@@ -526,10 +526,12 @@
* will allow the client to either perform recovery or
* simply join in.
*/
- if (announce)
+ if (announce) {
+ if ((ret = __dbt_usercopy(dbenv, dbt)) != 0)
+ goto err;
(void)__rep_send_message(dbenv,
DB_EID_BROADCAST, REP_NEWCLIENT, NULL, dbt, 0, 0);
- else
+ } else
(void)__rep_send_message(dbenv,
DB_EID_BROADCAST, REP_ALIVE_REQ, NULL, NULL, 0, 0);
}
@@ -553,6 +555,7 @@
}
if (pending_event != DB_EVENT_NO_SUCH_EVENT)
DB_EVENT(dbenv, pending_event, NULL);
+ __dbt_userfree(dbenv, dbt, NULL, NULL);
return (ret);
}
diff -Nru db-4.5.20.orig/rep/rep_record.c db-4.5.20/rep/rep_record.c
--- db-4.5.20.orig/rep/rep_record.c 2006-11-18 10:37:10.000000000 +0100
+++ db-4.5.20/rep/rep_record.c 2006-11-18 10:47:38.000000000 +0100
@@ -163,6 +163,14 @@
return (EINVAL);
}
+ if ((ret = __dbt_usercopy(dbenv, control)) != 0 ||
+ (ret = __dbt_usercopy(dbenv, rec)) != 0) {
+ __dbt_userfree(dbenv, control, rec, NULL);
+ __db_errx(dbenv,
+ "DB_ENV->rep_process_message: error retrieving DBT contents");
+ return ret;
+ }
+
ret = 0;
db_rep = dbenv->rep_handle;
rep = db_rep->region;
@@ -621,6 +629,7 @@
*ret_lsnp = rp->lsn;
ret = DB_REP_NOTPERM;
}
+ __dbt_userfree(dbenv, control, rec, NULL);
return (ret);
}