diff options
author | Juergen Daubert <jue@jue.li> | 2006-11-18 11:06:04 +0100 |
---|---|---|
committer | Juergen Daubert <jue@jue.li> | 2006-11-18 11:06:04 +0100 |
commit | 71bc4ab36ffc7abdf70d66c076923adc2eb31980 (patch) | |
tree | 10831f080c5fff2694affd974bcece44c4575e7d /db | |
parent | 1f95579489e34c29ad1a22069d0313dae121bcd9 (diff) | |
download | core-71bc4ab36ffc7abdf70d66c076923adc2eb31980.tar.gz core-71bc4ab36ffc7abdf70d66c076923adc2eb31980.tar.xz |
db: update to 4.5.20
Diffstat (limited to 'db')
-rw-r--r-- | db/.footprint | 20 | ||||
-rw-r--r-- | db/.md5sum | 8 | ||||
-rw-r--r-- | db/Pkgfile | 11 | ||||
-rw-r--r-- | db/db-4.5.20.1.patch | 32 | ||||
-rw-r--r-- | db/db-4.5.20.2.patch | 52 |
5 files changed, 103 insertions, 20 deletions
diff --git a/db/.footprint b/db/.footprint index 346a7644..876628ae 100644 --- a/db/.footprint +++ b/db/.footprint @@ -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.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-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.a -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 +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 -rw-r--r-- root/root usr/lib/libdb_cxx.a -lrwxrwxrwx root/root usr/lib/libdb_cxx.so -> libdb_cxx-4.4.so +lrwxrwxrwx root/root usr/lib/libdb_cxx.so -> libdb_cxx-4.5.so @@ -1,5 +1,3 @@ -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 +3154c250247b1c2bf6f91ab6a3365961 db-4.5.20.1.patch +fd1ec2d2c6eee9ff7a7f5f19b663440e db-4.5.20.2.patch +b0f1c777708cb8e9d37fb47e7ed3312d db-4.5.20.tar.gz @@ -1,16 +1,17 @@ # Description: Berkeley DB -# URL: http://www.sleepycat.com/products/db.shtml +# URL: http://www.oracle.com/technology/products/berkeley-db/ # Maintainer: Per Lidén, core-ports at crux dot nu name=db -version=4.4.20 -release=2 +version=4.5.20 +release=1 source=(http://download.oracle.com/berkeley-db/$name-$version.tar.gz \ - http://www.oracle.com/technology/products/berkeley-db/db/update/4.4.20/patch.4.4.20.{1,2,3,4}) + db-4.5.20.1.patch db-4.5.20.2.patch) build() { cd $name-$version - cat $SRC/patch.4.4.20.{1,2,3,4} | patch -p0 + patch -p1 -i $SRC/db-4.5.20.1.patch + patch -p1 -i $SRC/db-4.5.20.2.patch cd build_unix LDFLAGS="-lpthread" \ ../dist/configure --prefix=/usr \ diff --git a/db/db-4.5.20.1.patch b/db/db-4.5.20.1.patch new file mode 100644 index 00000000..109867a5 --- /dev/null +++ b/db/db-4.5.20.1.patch @@ -0,0 +1,32 @@ +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; diff --git a/db/db-4.5.20.2.patch b/db/db-4.5.20.2.patch new file mode 100644 index 00000000..a1eaf855 --- /dev/null +++ b/db/db-4.5.20.2.patch @@ -0,0 +1,52 @@ +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); + } + |