Hello community, here is the log from the commit of package db checked in at Fri Sep 29 17:11:55 CEST 2006. -------- --- db/db.changes 2006-01-25 21:30:05.000000000 +0100 +++ /mounts/work_src_done/STABLE/db/db.changes 2006-09-12 15:20:36.000000000 +0200 @@ -1,0 +2,13 @@ +Tue Sep 12 15:14:31 CEST 2006 - rhafer@suse.de + +- updated to db-4.4.20 (plus released Sleepycat patches). Most + important changes: + * Add support to compact an existing Btree database. + * Add support for named in-memory databases. + * Add support for database environment recovery serialization. + * Add utility for performing hot backups of a database environment. + * Add replication configuration API. +- removed Assembler mutex code patch which wasn't used anymore + anyways + +------------------------------------------------------------------- Old: ---- db-4.3.29.dif db-4.3.29.tar.bz2 New: ---- db-4.4.20.dif db-4.4.20.tar.bz2 patch.4.4.20.1 patch.4.4.20.2 patch.4.4.20.3 patch.4.4.20.4 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ db.spec ++++++ --- /var/tmp/diff_new_pack.cnZJoh/_old 2006-09-29 17:07:25.000000000 +0200 +++ /var/tmp/diff_new_pack.cnZJoh/_new 2006-09-29 17:07:25.000000000 +0200 @@ -1,11 +1,11 @@ # -# spec file for package db (Version 4.3.29) +# spec file for package db (Version 4.4.20) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # -# Please submit bugfixes or comments via http://bugs.opensuse.org +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild @@ -13,10 +13,14 @@ Name: db BuildRequires: ed gcc-c++ Summary: Berkeley DB Database Library -Version: 4.3.29 -Release: 4 +Version: 4.4.20 +Release: 2 Source: db-%{version}.tar.bz2 Patch: db-%{version}.dif +Patch1: patch.4.4.20.1 +Patch2: patch.4.4.20.2 +Patch3: patch.4.4.20.3 +Patch4: patch.4.4.20.4 URL: http://www.sleepycat.com License: BSD Group: System/Libraries @@ -64,6 +68,10 @@ %prep %setup -q %patch +%patch1 +%patch2 +%patch3 +%patch4 %build cd dist @@ -138,9 +146,9 @@ %doc %{_defaultdocdir}/db/index.html %doc %{_defaultdocdir}/db/images %doc %{_defaultdocdir}/db/sleepycat -%{_libdir}/libdb-4.3.so +%{_libdir}/libdb-4.4.so %{_libdir}/libdb-4.so -%{_libdir}/libdb_cxx-4.3.so +%{_libdir}/libdb_cxx-4.4.so %{_libdir}/libdb_cxx-4.so %files utils @@ -157,12 +165,14 @@ %{_bindir}/db_stat %{_bindir}/db_upgrade %{_bindir}/db_verify +%{_bindir}/db_hotbackup %files devel %defattr(-,root,root) %doc %{_defaultdocdir}/db/api_c %doc %{_defaultdocdir}/db/api_cxx %doc %{_defaultdocdir}/db/gsg +%doc %{_defaultdocdir}/db/gsg_txn %doc %{_defaultdocdir}/db/ref %doc %{_defaultdocdir}/db/examples_c %doc %{_defaultdocdir}/db/examples_cxx @@ -178,10 +188,20 @@ %{_libdir}/libdb_cxx.so %{_libdir}/libdb.a %{_libdir}/libdb_cxx.a -%{_libdir}/libdb-4.3.a -%{_libdir}/libdb_cxx-4.3.a +%{_libdir}/libdb-4.4.a +%{_libdir}/libdb_cxx-4.4.a %changelog -n db +* Tue Sep 12 2006 - rhafer@suse.de +- updated to db-4.4.20 (plus released Sleepycat patches). Most + important changes: + * Add support to compact an existing Btree database. + * Add support for named in-memory databases. + * Add support for database environment recovery serialization. + * Add utility for performing hot backups of a database environment. + * Add replication configuration API. +- removed Assembler mutex code patch which wasn't used anymore + anyways * Wed Jan 25 2006 - mls@suse.de - converted neededforbuild to BuildRequires * Fri Jan 13 2006 - schwab@suse.de ++++++ db-4.3.29.dif -> db-4.4.20.dif ++++++ --- db/db-4.3.29.dif 2006-01-14 02:25:59.000000000 +0100 +++ /mounts/work_src_done/STABLE/db/db-4.4.20.dif 2006-09-12 15:08:06.000000000 +0200 @@ -1,165 +1,3 @@ ---- dbinc/mutex.h -+++ dbinc/mutex.h 2005/06/09 11:56:00 -@@ -590,12 +590,11 @@ - " cmpwi %0,0 \n\t" - " bne- 1f \n\t" - " stwcx. %2,0,%2 \n\t" --" isync \n\t" - " beq+ 2f \n\t" - " b 0b \n\t" - "1: \n\t" - " li %1, 0 \n\t" --"2: \n\t" -+"2: isync \n\t" - : "=&r" (__r), "=r" (tsl) - : "r" (__tmp) - : "cr0", "memory"); -@@ -746,6 +745,40 @@ - #endif - - /********************************************************************* -+ * MIPS/gcc assembly. -+ *********************************************************************/ -+#ifdef HAVE_MUTEX_MIPS_GCC_ASSEMBLY -+typedef unsigned int tsl_t; -+#define MUTEX_ALIGN sizeof(unsigned int) -+ -+#ifdef LOAD_ACTUAL_MUTEX_CODE -+/* -+ * For gcc/MIPS; -+ */ -+#define MUTEX_SET(tsl) ({ \ -+ tsl_t tmp, res; \ -+ register tsl_t *__l = (tsl); \ -+ __asm__ __volatile__( \ -+ ".set\tnoreorder\t\t# test_and_set_bit\n" \ -+ "1:\tll\t%0, %1\n\t" \ -+ "ori\t%2, %0, 1\n\t" \ -+ "sc\t%2, %1\n\t" \ -+ "beqz\t%2, 1b\n\t" \ -+ " andi\t%2, %0, 1\n\t" \ -+ "sync\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (tmp), "=m" (*__l), "=&r" (res) \ -+ : "m" (*__l) \ -+ : "memory"); \ -+ (res ^ 1) & 1; \ -+}) -+ -+#define MUTEX_UNSET(tsl) (*(tsl) = 0) -+#define MUTEX_INIT(tsl) MUTEX_UNSET(tsl) -+#endif -+#endif -+ -+/********************************************************************* - * x86/gcc assembly. - *********************************************************************/ - #ifdef HAVE_MUTEX_X86_GCC_ASSEMBLY -@@ -780,6 +813,61 @@ - #endif - #endif - -+/********************************************************************* -+ * x86_64/gcc assembly. -+ *********************************************************************/ -+#ifdef HAVE_MUTEX_X86_64_GCC_ASSEMBLY -+typedef unsigned char tsl_t; -+ -+#ifdef LOAD_ACTUAL_MUTEX_CODE -+/* -+ * For gcc/x86-64, 0 is clear, 1 is set. -+ */ -+#define MUTEX_SET(tsl) ({ \ -+ register tsl_t *__l = (tsl); \ -+ int __r; \ -+ asm volatile("movq $1,%%rax; lock; xchgb %1,%%al; xorq $1,%%rax"\ -+ : "=&a" (__r), "=m" (*__l) \ -+ : "1" (*__l) \ -+ ); \ -+ __r & 1; \ -+}) -+ -+#define MUTEX_UNSET(tsl) (*(tsl) = 0) -+#define MUTEX_INIT(tsl) MUTEX_UNSET(tsl) -+#endif -+#endif -+ -+/********************************************************************* -+ * alphalinux/gcc assembly. -+ *********************************************************************/ -+#ifdef HAVE_MUTEX_ALPHA_LINUX_ASSEMBLY -+typedef unsigned long int tsl_t; -+ -+#define MUTEX_ALIGN 8 -+#endif -+ -+/********************************************************************* -+ * sparc32linux/gcc assembly. -+ *********************************************************************/ -+#ifdef HAVE_MUTEX_SPARC32_LINUX_ASSEMBLY -+typedef unsigned char tsl_t; -+#endif -+ -+/********************************************************************* -+ * sparc64linux/gcc assembly. -+ *********************************************************************/ -+#ifdef HAVE_MUTEX_SPARC64_LINUX_ASSEMBLY -+typedef unsigned char tsl_t; -+#endif -+ -+/********************************************************************* -+ * s390linux/gcc assembly. -+ *********************************************************************/ -+#ifdef HAVE_MUTEX_S390_LINUX_ASSEMBLY -+typedef volatile int tsl_t; -+#endif -+ - /* - * Mutex alignment defaults to one byte. - * ---- dbm/dbm.c -+++ dbm/dbm.c 2005/06/09 12:01:03 -@@ -119,11 +119,10 @@ - __db_dbm_fetch(key) - datum key; - { -- datum item; -+ datum item = {NULL, 0}; - - if (__cur_db == NULL) { - __db_no_open(); -- item.dptr = 0; - return (item); - } - return (dbm_fetch(__cur_db, key)); -@@ -132,11 +131,10 @@ - datum - __db_dbm_firstkey() - { -- datum item; -+ datum item = {NULL, 0}; - - if (__cur_db == NULL) { - __db_no_open(); -- item.dptr = 0; - return (item); - } - return (dbm_firstkey(__cur_db)); -@@ -146,13 +144,12 @@ - __db_dbm_nextkey(key) - datum key; - { -- datum item; -+ datum item = {NULL, 0}; - - COMPQUIET(key.dsize, 0); - - if (__cur_db == NULL) { - __db_no_open(); -- item.dptr = 0; - return (item); - } - return (dbm_nextkey(__cur_db)); --- dist/aclocal/libtool.ac +++ dist/aclocal/libtool.ac 2005/06/09 11:56:00 @@ -2683,8 +2683,8 @@ @@ -173,140 +11,6 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' ---- dist/aclocal/mutex.ac -+++ dist/aclocal/mutex.ac 2005/06/09 11:56:00 -@@ -207,7 +207,7 @@ - if test "$db_cv_mutex" = no; then - AC_TRY_LINK([ - #include <sys/mman.h>],[ --#if defined(__hppa) -+#if defined(__hppa__) - typedef msemaphore tsl_t; - msemaphore x; - msem_init(&x, 0); -@@ -353,6 +353,17 @@ - ], [db_cv_mutex="ARM/gcc-assembly"]) - fi - -+# MIPS/gcc: Linux -+if test "$db_cv_mutex" = no; then -+AC_TRY_COMPILE(,[ -+#if (defined(__mips) || defined(__mips__)) && defined(__GNUC__) -+ exit(0); -+#else -+ FAIL TO COMPILE/LINK -+#endif -+], [db_cv_mutex="MIPS/gcc-assembly"]) -+fi -+ - # PaRisc/gcc: HP/UX - if test "$db_cv_mutex" = no; then - AC_TRY_COMPILE(,[ -@@ -430,6 +441,18 @@ - ], [db_cv_mutex="S390/gcc-assembly"]) - fi - -+# x86-64/gcc: FreeBSD, NetBSD, BSD/OS, Linux -+if test "$db_cv_mutex" = no; then -+AC_TRY_RUN([main(){ -+#if defined(__x86_64__) -+#if defined(__GNUC__) -+ exit(0); -+#endif -+#endif -+ exit(1); -+}], [db_cv_mutex="x86_64/gcc-assembly"]) -+fi -+ - # ia86/gcc: Linux - if test "$db_cv_mutex" = no; then - AC_TRY_COMPILE(,[ -@@ -441,6 +464,53 @@ - ], [db_cv_mutex="ia64/gcc-assembly"]) - fi - -+dnl alphalinux/gcc: Linux -+if test "$db_cv_mutex" = no; then -+AC_TRY_RUN([main(){ -+#if defined(__alpha__) -+#if defined(__linux__) -+ exit(0); -+#endif -+#endif -+ exit(1); -+}], [db_cv_mutex="alphalinux/gcc-assembly"]) -+fi -+ -+dnl sparc32linux/gcc: Linux -+if test "$db_cv_mutex" = no; then -+AC_TRY_RUN([main(){ -+#if defined(__sparc__) && !defined(__arch64__) -+#if defined(__linux__) -+ exit(0); -+#endif -+#endif -+ exit(1); -+}], [db_cv_mutex="sparc32linux/gcc-assembly"]) -+fi -+ -+dnl sparc64linux/gcc: Linux -+if test "$db_cv_mutex" = no; then -+AC_TRY_RUN([main(){ -+#if defined(__sparc__) && defined(__arch64__) -+#if defined(__linux__) -+ exit(0); -+#endif -+#endif -+ exit(1); -+}], [db_cv_mutex="sparc64linux/gcc-assembly"]) -+fi -+ -+dnl s390linux/gcc: Linux -+if test "$db_cv_mutex" = no; then -+AC_TRY_RUN([main(){ -+#if defined(__linux__) && defined(__s390__) -+ exit(0); -+#endif -+ exit(1); -+}], [db_cv_mutex="s390linux/gcc-assembly"]) -+fi -+ -+ - # uts/cc: UTS - if test "$db_cv_mutex" = no; then - AC_TRY_COMPILE(,[ -@@ -594,6 +664,31 @@ - AC_DEFINE(HAVE_MUTEX_X86_GCC_ASSEMBLY) - AH_TEMPLATE(HAVE_MUTEX_X86_GCC_ASSEMBLY, - [Define to 1 to use the GCC compiler and x86 assembly language mutexes.]);; -+MIPS/gcc-assembly) ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS" -+ AC_DEFINE(HAVE_MUTEX_MIPS_GCC_ASSEMBLY) -+ AH_TEMPLATE(HAVE_MUTEX_MIPS_GCC_ASSEMBLY, -+ [Define to 1 to use the GCC compiler and Mips assembly language mutexes.]);; -+x86_64/gcc-assembly) ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS" -+ AC_DEFINE(HAVE_MUTEX_X86_64_GCC_ASSEMBLY) -+ AH_TEMPLATE(HAVE_MUTEX_X86_64_GCC_ASSEMBLY, -+ [Define to use the GCC compiler and x86-64 assembly language mutexes.]);; -+alphalinux/gcc-assembly) ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS" -+ AC_DEFINE(HAVE_MUTEX_ALPHA_LINUX_ASSEMBLY) -+ AH_TEMPLATE(HAVE_MUTEX_ALPHA_LINUX_ASSEMBLY, -+ [Define to use the GCC compiler and alpha assembly language mutexes.]);; -+sparc32linux/gcc-assembly) ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS" -+ AC_DEFINE(HAVE_MUTEX_SPARC32_LINUX_ASSEMBLY) -+ AH_TEMPLATE(HAVE_MUTEX_SPARC32_LINUX_ASSEMBLY, -+ [Define to use the GCC compiler and sparc64 assembly language mutexes.]);; -+sparc64linux/gcc-assembly) ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS" -+ AC_DEFINE(HAVE_MUTEX_SPARC64_LINUX_ASSEMBLY) -+ AH_TEMPLATE(HAVE_MUTEX_SPARC64_LINUX_ASSEMBLY, -+ [Define to use the GCC compiler and sparc64 assembly language mutexes.]);; -+s390linux/gcc-assembly) ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS" -+ AC_DEFINE(HAVE_MUTEX_S390_LINUX_ASSEMBLY) -+ AH_TEMPLATE(HAVE_MUTEX_S390_LINUX_ASSEMBLY, -+ [Define to use the GCC compiler and s390 assembly lan -+guage mutexes.]);; - UNIX/fcntl) AC_MSG_WARN( - [NO FAST MUTEXES FOUND FOR THIS COMPILER/ARCHITECTURE.]) - ADDITIONAL_OBJS="mut_fcntl${o} $ADDITIONAL_OBJS" --- dist/Makefile.in +++ dist/Makefile.in 2005/06/09 11:56:00 @@ -144,8 +144,8 @@ @@ -320,24 +24,14 @@ ################################################## # NOTHING BELOW THIS LINE SHOULD EVER NEED TO BE MODIFIED. ---- mutex/mut_tas.c -+++ mutex/mut_tas.c 2005/06/09 11:56:00 -@@ -15,6 +15,18 @@ - #include <stdlib.h> - #include <string.h> - #endif -+#ifdef HAVE_MUTEX_ALPHA_LINUX_ASSEMBLY -+#include "alphalinux.gcc" -+#endif -+#ifdef HAVE_MUTEX_SPARC32_LINUX_ASSEMBLY -+#include "sparc32linux.gcc" -+#endif -+#ifdef HAVE_MUTEX_SPARC64_LINUX_ASSEMBLY -+#include "sparc64linux.gcc" -+#endif -+#ifdef HAVE_MUTEX_S390_LINUX_ASSEMBLY -+#include "s390linux.gcc" -+#endif - - /* - * This is where we load in the actual test-and-set mutex code. +--- btree/bt_compact.c 2006/09/12 12:45:56 1.1 ++++ btree/bt_compact.c 2006/09/12 13:07:47 +@@ -393,7 +393,7 @@ + DB *dbp; + DBC *ndbc; + DB_ENV *dbenv; +- DB_LOCK nolock; ++ DB_LOCK nolock = { 0, 0, 0, 0}; + EPG *epg; + DB_MPOOLFILE *dbmp; + PAGE *pg, *ppg, *npg; ++++++ db-4.3.29.tar.bz2 -> db-4.4.20.tar.bz2 ++++++ db/db-4.3.29.tar.bz2 /mounts/work_src_done/STABLE/db/db-4.4.20.tar.bz2 differ: char 11, line 1 ++++++ patch.4.4.20.1 ++++++ *** 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 ---- ++++++ patch.4.4.20.2 ++++++ *** 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); ++++++ patch.4.4.20.3 ++++++ *** 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; } /* ++++++ patch.4.4.20.4 ++++++ *** 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; } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@suse.de