Revision: 5571
          http://gar.svn.sourceforge.net/gar/?rev=5571&view=rev
Author:   dmichelsen
Date:     2009-07-14 12:11:29 +0000 (Tue, 14 Jul 2009)

Log Message:
-----------
bdb3: Partial commit, install still fails

Modified Paths:
--------------
    csw/mgar/pkg/bdb3/trunk/Makefile
    csw/mgar/pkg/bdb3/trunk/checksums

Added Paths:
-----------
    csw/mgar/pkg/bdb3/trunk/files/patch.3.3.11.1
    csw/mgar/pkg/bdb3/trunk/files/patch.3.3.11.2

Removed Paths:
-------------
    csw/mgar/pkg/bdb3/trunk/files/4.1.25.1.diff
    csw/mgar/pkg/bdb3/trunk/files/4.1.25.2.diff
    csw/mgar/pkg/bdb3/trunk/files/CSWbdb4.gspec

Modified: csw/mgar/pkg/bdb3/trunk/Makefile
===================================================================
--- csw/mgar/pkg/bdb3/trunk/Makefile    2009-07-14 09:17:47 UTC (rev 5570)
+++ csw/mgar/pkg/bdb3/trunk/Makefile    2009-07-14 12:11:29 UTC (rev 5571)
@@ -1,8 +1,8 @@
 GARNAME = db
-GARVERSION = 4.1.25
+GARVERSION = 3.3.11
 CATEGORIES = lib
 
-DESCRIPTION = Provides embedded database support for applications
+DESCRIPTION = BerkeleyDB 3
 define BLURB
   Berkeley DB (libdb) is a programmatic toolkit that provides embedded database
   support for both traditional and client/server applications. It includes
@@ -13,26 +13,29 @@
   (MSVC 4, 5 and 6).
 endef
 
-MASTER_SITES = ftp://ftp.sleepycat.com/releases/
+MASTER_SITES = http://download.oracle.com/berkeley-db/
 DISTFILES = $(GARNAME)-$(GARVERSION).tar.gz 
-DISTFILES += CSWbdb4.gspec
 
 # We define upstream file regex so we can be notifed of new upstream software 
release
 UFILES_REGEX = $(GARNAME)-(\d+(?:\.\d+)*).tar.gz
 
 # See http://www.sleepycat.com/update/4.1.25/patch.4.1.25.html
-PATCHFILES += 4.1.25.1.diff 4.1.25.2.diff
+PATCHFILES = patch.$(GARVERSION).1 patch.$(GARVERSION).2
 PATCHDIRLEVEL = 0
 
-DEPENDS += lang/tcl
+LICENSE = LICENSE
 
+PACKAGES = CSWbdb3
+CATALOGNAME = berkeleydb3
+
 CONFIGURE_SCRIPTS = $(WORKSRC)/dist/configure
 BUILD_SCRIPTS = $(WORKSRC)/dist/Makefile
 INSTALL_SCRIPTS = $(WORKSRC)/dist/Makefile
-TEST_SCRIPTS = $(WORKSRC)/dist/Makefile
 
-NODIRPATHS = --prefix
-CONFIGURE_ARGS  = --prefix $(prefix)/bdb4 $(DIRPATHS)
+TEST_SCRIPTS =
+
+#NODIRPATHS = --prefix
+CONFIGURE_ARGS  = --prefix $(prefix) $(DIRPATHS)
 CONFIGURE_ARGS += --enable-compat185
 CONFIGURE_ARGS += --enable-rpc
 CONFIGURE_ARGS += --enable-cxx

Modified: csw/mgar/pkg/bdb3/trunk/checksums
===================================================================
--- csw/mgar/pkg/bdb3/trunk/checksums   2009-07-14 09:17:47 UTC (rev 5570)
+++ csw/mgar/pkg/bdb3/trunk/checksums   2009-07-14 12:11:29 UTC (rev 5571)
@@ -1,4 +1,3 @@
-d82ed75cb53b0daba4a7e959e8a6f86c  download/db-4.1.25.tar.gz
-48ef6b9d5e0c5cd3617a1531d0e97637  download/CSWbdb4.gspec
-1e073d12cd89f9345e281ca07368f74b  download/4.1.25.1.diff
-5eedc6818783b4b89317d89d2babb6f7  download/4.1.25.2.diff
+b6ae24fa55713f17a9ac3219d987722c  download/db-3.3.11.tar.gz
+a6c5fc6387c57361fbdf29ca63b597c3  download/patch.3.3.11.1
+fca939f74fc6555e1319626ceca35b33  download/patch.3.3.11.2

Deleted: csw/mgar/pkg/bdb3/trunk/files/4.1.25.1.diff
===================================================================
--- csw/mgar/pkg/bdb3/trunk/files/4.1.25.1.diff 2009-07-14 09:17:47 UTC (rev 
5570)
+++ csw/mgar/pkg/bdb3/trunk/files/4.1.25.1.diff 2009-07-14 12:11:29 UTC (rev 
5571)
@@ -1,20 +0,0 @@
-*** fileops/fop_util.c 8 Jan 2003 05:01:56 -0000       1.57
---- fileops/fop_util.c 12 Jan 2003 19:44:29 -0000      1.58
-***************
-*** 40,46 ****
-       u_int32_t __lockval;                                            \
-                                                                       \
-       if (LOCKING_ON((ENV))) {                                        \
-!              __lockval = 0;                                          \
-               __dbt.data = &__lockval;                                \
-               __dbt.size = sizeof(__lockval);                         \
-               if ((ret = (ENV)->lock_get((ENV), (ID),                 \
---- 40,46 ----
-       u_int32_t __lockval;                                            \
-                                                                       \
-       if (LOCKING_ON((ENV))) {                                        \
-!              __lockval = 1;                                          \
-               __dbt.data = &__lockval;                                \
-               __dbt.size = sizeof(__lockval);                         \
-               if ((ret = (ENV)->lock_get((ENV), (ID),                 \
-

Deleted: csw/mgar/pkg/bdb3/trunk/files/4.1.25.2.diff
===================================================================
--- csw/mgar/pkg/bdb3/trunk/files/4.1.25.2.diff 2009-07-14 09:17:47 UTC (rev 
5570)
+++ csw/mgar/pkg/bdb3/trunk/files/4.1.25.2.diff 2009-07-14 12:11:29 UTC (rev 
5571)
@@ -1,617 +0,0 @@
-*** dbinc/mp.h.orig    2004-02-02 10:24:53.000000000 -0800
---- dbinc/mp.h 2004-02-02 10:26:27.000000000 -0800
-***************
-*** 149,154 ****
---- 149,161 ----
-        * region lock).
-        */
-       DB_MPOOL_STAT stat;             /* Per-cache mpool statistics. */
-+  
-+       /*
-+        * We track page puts so that we can decide when allocation is never
-+        * going to succeed.  We don't lock the field, all we care about is
-+        * if it changes.
-+        */
-+       u_int32_t  put_counter;                /* Count of page put calls. */
-  };
-  
-  struct __db_mpool_hash {
-*** mp/mp_fput.c.orig  2002-08-13 06:26:41.000000000 -0700
---- mp/mp_fput.c       2004-02-02 10:22:35.000000000 -0800
-***************
-*** 19,24 ****
---- 19,26 ----
-  #include "dbinc/db_shash.h"
-  #include "dbinc/mp.h"
-  
-+ static void __memp_reset_lru __P((DB_ENV *, REGINFO *));
-+ 
-  /*
-   * __memp_fput --
-   *   Mpool file put function.
-***************
-*** 198,202 ****
---- 200,255 ----
-  
-       MUTEX_UNLOCK(dbenv, &hp->hash_mutex);
-  
-+      /*
-+       * On every buffer put we update the buffer generation number and check
-+       * for wraparound.
-+       */
-+      if (++c_mp->lru_count == UINT32_T_MAX)
-+              __memp_reset_lru(dbenv, dbmp->reginfo);
-+ 
-       return (0);
-  }
-+ 
-+ /*
-+  * __memp_reset_lru --
-+  *   Reset the cache LRU counter.
-+  */
-+ static void
-+ __memp_reset_lru(dbenv, memreg)
-+      DB_ENV *dbenv;
-+      REGINFO *memreg;
-+ {
-+      BH *bhp;
-+      DB_MPOOL_HASH *hp;
-+      MPOOL *c_mp;
-+      int bucket;
-+ 
-+      c_mp = memreg->primary;
-+ 
-+      /*
-+       * Update the counter so all future allocations will start at the
-+       * bottom.
-+       */
-+      c_mp->lru_count -= MPOOL_BASE_DECREMENT;
-+ 
-+      /* Adjust the priority of every buffer in the system. */
-+      for (hp = R_ADDR(memreg, c_mp->htab),
-+          bucket = 0; bucket < c_mp->htab_buckets; ++hp, ++bucket) {
-+              /*
-+               * Skip empty buckets.
-+               *
-+               * We can check for empty buckets before locking as we
-+               * only care if the pointer is zero or non-zero.
-+               */
-+              if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) == NULL)
-+                      continue;
-+ 
-+              MUTEX_LOCK(dbenv, &hp->hash_mutex);
-+              for (bhp = SH_TAILQ_FIRST(&hp->hash_bucket, __bh);
-+                  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);
-+      }
-+ }
-*** mp/mp_alloc.c.orig 2002-08-17 07:23:25.000000000 -0700
---- mp/mp_alloc.c      2004-02-02 10:28:15.000000000 -0800
-***************
-*** 25,31 ****
-  } HS;
-  
-  static void __memp_bad_buffer __P((DB_MPOOL_HASH *));
-- static void __memp_reset_lru __P((DB_ENV *, REGINFO *, MPOOL *));
-  
-  /*
-   * __memp_alloc --
---- 25,30 ----
-***************
-*** 50,57 ****
-       MPOOL *c_mp;
-       MPOOLFILE *bh_mfp;
-       size_t freed_space;
-!      u_int32_t buckets, buffers, high_priority, max_na, priority;
-!      int aggressive, ret;
-       void *p;
-  
-       dbenv = dbmp->dbenv;
---- 49,57 ----
-       MPOOL *c_mp;
-       MPOOLFILE *bh_mfp;
-       size_t freed_space;
-!      u_int32_t buckets, buffers, high_priority, priority, put_counter;
-!      u_int32_t total_buckets;
-!      int aggressive, giveup, ret;
-       void *p;
-  
-       dbenv = dbmp->dbenv;
-***************
-*** 59,76 ****
-       dbht = R_ADDR(memreg, c_mp->htab);
-       hp_end = &dbht[c_mp->htab_buckets];
-  
-!      buckets = buffers = 0;
-!      aggressive = 0;
-  
-       c_mp->stat.st_alloc++;
-  
-       /*
--       * Get aggressive if we've tried to flush the number of pages as are
--       * in the system without finding space.
--       */
--      max_na = 5 * c_mp->htab_buckets;
-- 
--      /*
-        * If we're allocating a buffer, and the one we're discarding is the
-        * same size, we don't want to waste the time to re-integrate it into
-        * the shared memory free list.  If the DB_MPOOLFILE argument isn't
---- 59,71 ----
-       dbht = R_ADDR(memreg, c_mp->htab);
-       hp_end = &dbht[c_mp->htab_buckets];
-  
-!      buckets = buffers = put_counter = total_buckets = 0;
-!      aggressive = giveup = 0;
-!      hp_tmp = NULL;
-  
-       c_mp->stat.st_alloc++;
-  
-       /*
-        * If we're allocating a buffer, and the one we're discarding is the
-        * same size, we don't want to waste the time to re-integrate it into
-        * the shared memory free list.  If the DB_MPOOLFILE argument isn't
-***************
-*** 81,99 ****
-               len = (sizeof(BH) - sizeof(u_int8_t)) + mfp->stat.st_pagesize;
-  
-       R_LOCK(dbenv, memreg);
-- 
--      /*
--       * On every buffer allocation we update the buffer generation number
--       * and check for wraparound.
--       */
--      if (++c_mp->lru_count == UINT32_T_MAX)
--              __memp_reset_lru(dbenv, memreg, c_mp);
-- 
-       /*
-        * Anything newer than 1/10th of the buffer pool is ignored during
-        * allocation (unless allocation starts failing).
-        */
--      DB_ASSERT(c_mp->lru_count > c_mp->stat.st_pages / 10);
-       high_priority = c_mp->lru_count - c_mp->stat.st_pages / 10;
-  
-       /*
---- 76,85 ----
-***************
-*** 120,129 ****
-                * We're not holding the region locked here, these statistics
-                * can't be trusted.
-                */
-!              if (buckets != 0) {
-!                      if (buckets > c_mp->stat.st_alloc_max_buckets)
-!                              c_mp->stat.st_alloc_max_buckets = buckets;
-!                      c_mp->stat.st_alloc_buckets += buckets;
-               }
-               if (buffers != 0) {
-                       if (buffers > c_mp->stat.st_alloc_max_pages)
---- 106,116 ----
-                * We're not holding the region locked here, these statistics
-                * can't be trusted.
-                */
-!              total_buckets += buckets;
-!              if (total_buckets != 0) {
-!                      if (total_buckets > c_mp->stat.st_alloc_max_buckets)
-!                              c_mp->stat.st_alloc_max_buckets = total_buckets;
-!                      c_mp->stat.st_alloc_buckets += total_buckets;
-               }
-               if (buffers != 0) {
-                       if (buffers > c_mp->stat.st_alloc_max_pages)
-***************
-*** 131,136 ****
---- 118,129 ----
-                       c_mp->stat.st_alloc_pages += buffers;
-               }
-               return (0);
-+      } else if (giveup || c_mp->stat.st_pages == 0) {
-+              R_UNLOCK(dbenv, memreg);
-+ 
-+              __db_err(dbenv,
-+                  "unable to allocate space from the buffer cache");
-+              return (ret);
-       }
-  
-       /*
-***************
-*** 138,163 ****
-        * we need.  Reset our free-space counter.
-        */
-       freed_space = 0;
-  
-       /*
-        * Walk the hash buckets and find the next two with potentially useful
-        * buffers.  Free the buffer with the lowest priority from the buckets'
-        * chains.
-        */
-!      for (hp_tmp = NULL;;) {
-               /* Check for wrap around. */
-               hp = &dbht[c_mp->last_checked++];
-               if (hp >= hp_end) {
-                       c_mp->last_checked = 0;
-! 
-!                      /*
-!                       * If we've gone through all of the hash buckets, try
-!                       * an allocation.  If the cache is small, the old page
-!                       * size is small, and the new page size is large, we
-!                       * might have freed enough memory (but not 3 times the
-!                       * memory).
-!                       */
-!                      goto alloc;
-               }
-  
-               /*
---- 131,154 ----
-        * we need.  Reset our free-space counter.
-        */
-       freed_space = 0;
-+      total_buckets += buckets;
-+      buckets = 0;
-  
-       /*
-        * Walk the hash buckets and find the next two with potentially useful
-        * buffers.  Free the buffer with the lowest priority from the buckets'
-        * chains.
-        */
-!      for (;;) {
-!              /* All pages have been freed, make one last try */
-!              if (c_mp->stat.st_pages == 0)
-!                      goto alloc;
-! 
-               /* Check for wrap around. */
-               hp = &dbht[c_mp->last_checked++];
-               if (hp >= hp_end) {
-                       c_mp->last_checked = 0;
-!                      hp = &dbht[c_mp->last_checked++];
-               }
-  
-               /*
-***************
-*** 172,210 ****
-               /*
-                * The failure mode is when there are too many buffers we can't
-                * write or there's not enough memory in the system.  We don't
-!               * have a metric for deciding if allocation has no possible way
-!               * to succeed, so we don't ever fail, we assume memory will be
-!               * available if we wait long enough.
-                *
-!               * Get aggressive if we've tried to flush 5 times the number of
-!               * hash buckets as are in the system -- it's possible we have
-!               * been repeatedly trying to flush the same buffers, although
-!               * it's unlikely.  Aggressive means:
-                *
-                * a: set a flag to attempt to flush high priority buffers as
-                *    well as other buffers.
-                * b: sync the mpool to force out queue extent pages.  While we
-                *    might not have enough space for what we want and flushing
-                *    is expensive, why not?
-!               * c: sleep for a second -- hopefully someone else will run and
-!               *    free up some memory.  Try to allocate memory too, in case
-!               *    the other thread returns its memory to the region.
-!               * d: look at a buffer in every hash bucket rather than choose
-                *    the more preferable of two.
-                *
-                * !!!
-                * This test ignores pathological cases like no buffers in the
-                * system -- that shouldn't be possible.
-                */
-!              if ((++buckets % max_na) == 0) {
-!                      aggressive = 1;
-! 
-                       R_UNLOCK(dbenv, memreg);
-  
-!                      (void)__memp_sync_int(
-!                          dbenv, NULL, 0, DB_SYNC_ALLOC, NULL);
-! 
-!                      (void)__os_sleep(dbenv, 1, 0);
-  
-                       R_LOCK(dbenv, memreg);
-                       goto alloc;
---- 163,221 ----
-               /*
-                * The failure mode is when there are too many buffers we can't
-                * write or there's not enough memory in the system.  We don't
-!               * have a way to know that allocation has no way to succeed.
-!               * We fail if there were no pages returned to the cache after
-!               * we've been trying for a relatively long time.
-                *
-!               * Get aggressive if we've tried to flush the number of hash
-!               * buckets as are in the system and have not found any more
-!               * space.  Aggressive means:
-                *
-                * a: set a flag to attempt to flush high priority buffers as
-                *    well as other buffers.
-                * b: sync the mpool to force out queue extent pages.  While we
-                *    might not have enough space for what we want and flushing
-                *    is expensive, why not?
-!               * c: look at a buffer in every hash bucket rather than choose
-                *    the more preferable of two.
-+               * d: start to think about giving up.
-+               *
-+               * If we get here twice, sleep for a second, hopefully someone
-+               * else will run and free up some memory.
-+               *
-+               * Always try to allocate memory too, in case some other thread
-+               * returns its memory to the region.
-                *
-                * !!!
-                * This test ignores pathological cases like no buffers in the
-                * system -- that shouldn't be possible.
-                */
-!              if ((++buckets % c_mp->htab_buckets) == 0) {
-!                      if (freed_space > 0)
-!                              goto alloc;
-                       R_UNLOCK(dbenv, memreg);
-  
-!                      switch (++aggressive) {
-!                      case 1:
-!                              break;
-!                      case 2:
-!                              put_counter = c_mp->put_counter;
-!                              /* FALLTHROUGH */
-!                      case 3:
-!                      case 4:
-!                      case 5:
-!                      case 6:
-!                              (void)__memp_sync_int(
-!                                  dbenv, NULL, 0, DB_SYNC_ALLOC, NULL);
-! 
-!                              (void)__os_sleep(dbenv, 1, 0);
-!                              break;
-!                      default:
-!                              aggressive = 1;
-!                              if (put_counter == c_mp->put_counter)
-!                                      giveup = 1;
-!                              break;
-!                      }
-  
-                       R_LOCK(dbenv, memreg);
-                       goto alloc;
-***************
-*** 277,283 ****
-                * thread may have acquired this buffer and incremented the ref
-                * count after we wrote it, in which case we can't have it.
-                *
-!               * If there's a write error, avoid selecting this buffer again
-                * by making it the bucket's least-desirable buffer.
-                */
-               if (ret != 0 || bhp->ref != 0) {
---- 288,295 ----
-                * thread may have acquired this buffer and incremented the ref
-                * count after we wrote it, in which case we can't have it.
-                *
-!               * If there's a write error and we're having problems finding
-!               * something to allocate, avoid selecting this buffer again
-                * by making it the bucket's least-desirable buffer.
-                */
-               if (ret != 0 || bhp->ref != 0) {
-***************
-*** 301,306 ****
---- 313,320 ----
-  
-               freed_space += __db_shsizeof(bhp);
-               __memp_bhfree(dbmp, hp, bhp, 1);
-+              if (aggressive > 1)
-+                      aggressive = 1;
-  
-               /*
-                * Unlock this hash bucket and re-acquire the region lock. If
-***************
-*** 362,415 ****
-       hp->hash_priority = SH_TAILQ_FIRST(&hp->hash_bucket, __bh)->priority;
-  }
-  
-- /*
--  * __memp_reset_lru --
--  *   Reset the cache LRU counter.
--  */
-- static void
-- __memp_reset_lru(dbenv, memreg, c_mp)
--      DB_ENV *dbenv;
--      REGINFO *memreg;
--      MPOOL *c_mp;
-- {
--      BH *bhp;
--      DB_MPOOL_HASH *hp;
--      int bucket;
-- 
--      /*
--       * Update the counter so all future allocations will start at the
--       * bottom.
--       */
--      c_mp->lru_count -= MPOOL_BASE_DECREMENT;
-- 
--      /* Release the region lock. */
--      R_UNLOCK(dbenv, memreg);
-- 
--      /* Adjust the priority of every buffer in the system. */
--      for (hp = R_ADDR(memreg, c_mp->htab),
--          bucket = 0; bucket < c_mp->htab_buckets; ++hp, ++bucket) {
--              /*
--               * Skip empty buckets.
--               *
--               * We can check for empty buckets before locking as we
--               * only care if the pointer is zero or non-zero.
--               */
--              if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) == NULL)
--                      continue;
-- 
--              MUTEX_LOCK(dbenv, &hp->hash_mutex);
--              for (bhp = SH_TAILQ_FIRST(&hp->hash_bucket, __bh);
--                  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);
--      }
-- 
--      /* Reacquire the region lock. */
--      R_LOCK(dbenv, memreg);
-- }
-- 
-  #ifdef DIAGNOSTIC
-  /*
-   * __memp_check_order --
---- 376,381 ----
-*** dbreg/dbreg_rec.c.orig     2002-08-17 07:22:52.000000000 -0700
---- dbreg/dbreg_rec.c  2003-11-08 10:59:19.000000000 -0800
-***************
-*** 174,192 ****
-                        * Typically, closes should match an open which means
-                        * that if this is a close, there should be a valid
-                        * entry in the dbentry table when we get here,
-!                       * however there is an exception.  If this is an
-                        * OPENFILES pass, then we may have started from
-                        * a log file other than the first, and the
-                        * corresponding open appears in an earlier file.
-!                       * We can ignore that case, but all others are errors.
-                        */
-                       dbe = &dblp->dbentry[argp->fileid];
-                       if (dbe->dbp == NULL && !dbe->deleted) {
-                               /* No valid entry here. */
-!                              if ((argp->opcode != LOG_CLOSE &&
-!                                  argp->opcode != LOG_RCLOSE) ||
-!                                  (op != DB_TXN_OPENFILES &&
-!                                  op !=DB_TXN_POPENFILES)) {
-                                       __db_err(dbenv,
-                                           "Improper file close at %lu/%lu",
-                                           (u_long)lsnp->file,
---- 174,193 ----
-                        * Typically, closes should match an open which means
-                        * that if this is a close, there should be a valid
-                        * entry in the dbentry table when we get here,
-!                       * however there are exceptions.  1. If this is an
-                        * OPENFILES pass, then we may have started from
-                        * a log file other than the first, and the
-                        * corresponding open appears in an earlier file.
-!                       * 2. If we are undoing an open on an abort or
-!                       * recovery, it's possible that we failed after
-!                       * the log record, but before we actually entered
-!                       * a handle here.
-                        */
-                       dbe = &dblp->dbentry[argp->fileid];
-                       if (dbe->dbp == NULL && !dbe->deleted) {
-                               /* No valid entry here. */
-!                              if (DB_REDO(op) ||
-!                                  argp->opcode == LOG_CHECKPOINT) {
-                                       __db_err(dbenv,
-                                           "Improper file close at %lu/%lu",
-                                           (u_long)lsnp->file,
-*** env/env_recover.c.orig.1   2002-08-22 14:52:51.000000000 -0700
---- env/env_recover.c  2003-11-15 08:20:59.000000000 -0800
-***************
-*** 232,243 ****
-        * we'll still need to do a vtruncate based on information we haven't
-        * yet collected.
-        */
-!      if (ret == DB_NOTFOUND) {
-               ret = 0;
-!              if (max_lsn == NULL)
-!                      goto done;
-!      }
-!      if (ret != 0)
-               goto err;
-  
-       hi_txn = txnid;
---- 232,240 ----
-        * we'll still need to do a vtruncate based on information we haven't
-        * yet collected.
-        */
-!      if (ret == DB_NOTFOUND) 
-               ret = 0;
-!      else if (ret != 0)
-               goto err;
-  
-       hi_txn = txnid;
-***************
-*** 331,337 ****
-  
-       /* Find a low txnid. */
-       ret = 0;
-!      do {
-               /* txnid is after rectype, which is a u_int32. */
-               memcpy(&txnid,
-                   (u_int8_t *)data.data + sizeof(u_int32_t), sizeof(txnid));
---- 328,334 ----
-  
-       /* Find a low txnid. */
-       ret = 0;
-!      if (hi_txn != 0) do {
-               /* txnid is after rectype, which is a u_int32. */
-               memcpy(&txnid,
-                   (u_int8_t *)data.data + sizeof(u_int32_t), sizeof(txnid));
-***************
-*** 344,354 ****
-        * There are no transactions and we're not recovering to an LSN (see
-        * above), so there is nothing to do.
-        */
-!      if (ret == DB_NOTFOUND) {
-               ret = 0;
--              if (max_lsn == NULL)
--                      goto done;
--      }
-  
-       /* Reset to the first lsn. */
-       if (ret != 0 || (ret = logc->get(logc, &first_lsn, &data, DB_SET)) != 0)
---- 341,348 ----
-        * There are no transactions and we're not recovering to an LSN (see
-        * above), so there is nothing to do.
-        */
-!      if (ret == DB_NOTFOUND) 
-               ret = 0;
-  
-       /* Reset to the first lsn. */
-       if (ret != 0 || (ret = logc->get(logc, &first_lsn, &data, DB_SET)) != 0)
-***************
-*** 367,372 ****
---- 361,370 ----
-           txninfo, &data, &first_lsn, &last_lsn, nfiles, 1)) != 0)
-               goto err;
-  
-+      /* If there were no transactions, then we can bail out early. */
-+      if (hi_txn == 0 && max_lsn == NULL)
-+              goto done;
-+              
-       /*
-        * Pass #2.
-        *
-***************
-*** 483,488 ****
---- 481,487 ----
-       if ((ret = __dbreg_close_files(dbenv)) != 0)
-               goto err;
-  
-+ done:
-       if (max_lsn != NULL) {
-               region->last_ckp = ((DB_TXNHEAD *)txninfo)->ckplsn;
-  
-***************
-*** 538,544 ****
-               __db_err(dbenv, "Recovery complete at %.24s", ctime(&now));
-               __db_err(dbenv, "%s %lx %s [%lu][%lu]",
-                   "Maximum transaction ID",
-!                  ((DB_TXNHEAD *)txninfo)->maxid,
-                   "Recovery checkpoint",
-                   (u_long)region->last_ckp.file,
-                   (u_long)region->last_ckp.offset);
---- 537,544 ----
-               __db_err(dbenv, "Recovery complete at %.24s", ctime(&now));
-               __db_err(dbenv, "%s %lx %s [%lu][%lu]",
-                   "Maximum transaction ID",
-!                  txninfo == NULL ? TXN_MINIMUM :
-!                      ((DB_TXNHEAD *)txninfo)->maxid,
-                   "Recovery checkpoint",
-                   (u_long)region->last_ckp.file,
-                   (u_long)region->last_ckp.offset);
-***************
-*** 550,556 ****
-                   (u_long)lsn.file, (u_long)lsn.offset, pass);
-       }
-  
-- done:
-  err: if (lockid != DB_LOCK_INVALIDID) {
-               if ((t_ret = __rep_unlockpages(dbenv, lockid)) != 0 && ret == 0)
-                       ret = t_ret;
---- 550,555 ----

Deleted: csw/mgar/pkg/bdb3/trunk/files/CSWbdb4.gspec
===================================================================
--- csw/mgar/pkg/bdb3/trunk/files/CSWbdb4.gspec 2009-07-14 09:17:47 UTC (rev 
5570)
+++ csw/mgar/pkg/bdb3/trunk/files/CSWbdb4.gspec 2009-07-14 12:11:29 UTC (rev 
5571)
@@ -1,4 +0,0 @@
-%var            bitname berkeleydb4
-%var            pkgname CSWbdb4
-%include        url file://%{PKGLIB}/csw_dyndepend.gspec
-%copyright      url file://%{WORKSRC}/LICENSE

Added: csw/mgar/pkg/bdb3/trunk/files/patch.3.3.11.1
===================================================================
--- csw/mgar/pkg/bdb3/trunk/files/patch.3.3.11.1                                
(rev 0)
+++ csw/mgar/pkg/bdb3/trunk/files/patch.3.3.11.1        2009-07-14 12:11:29 UTC 
(rev 5571)
@@ -0,0 +1,96 @@
+*** db185/db185.c      2001/04/10 20:43:53     11.18
+--- db185/db185.c      2001/07/30 14:12:47
+***************
+*** 40,47 ****
+--- 40,52 ----
+  
+  /*
+   * EXTERN: #define dbopen __db185_open
++  * EXTERN: #ifdef _DB185_INT_H_
+   * EXTERN: DB185 *__db185_open
+   * EXTERN:     __P((const char *, int, int, DBTYPE, const void *));
++  * EXTERN: #else
++  * EXTERN: DB *__db185_open
++  * EXTERN:     __P((const char *, int, int, DBTYPE, const void *));
++  * EXTERN: #endif
+   */
+  DB185 *
+  __db185_open(file, oflags, mode, type, openinfo)
+*** db185/db185_int.in 2001/04/10 20:43:54     11.9
+--- db185/db185_int.in 2001/07/30 14:12:47
+***************
+*** 39,46 ****
+   * $Id: patch.3.3.11.1,v 1.1 2003/01/10 13:43:30 mao Exp $
+   */
+  
+! #ifndef _DB_185_H_
+! #define      _DB_185_H_
+  
+  /* Routine flags. */
+  #define      R_CURSOR        1               /* del, put, seq */
+--- 39,46 ----
+   * $Id: patch.3.3.11.1,v 1.1 2003/01/10 13:43:30 mao Exp $
+   */
+  
+! #ifndef _DB185_INT_H_
+! #define      _DB185_INT_H_
+  
+  /* Routine flags. */
+  #define      R_CURSOR        1               /* del, put, seq */
+*** include_auto/db185_ext.in  2001/04/10 20:44:20     1.1
+--- include_auto/db185_ext.in  2001/07/30 14:12:48
+***************
+*** 3,11 ****
+  extern "C" {
+  #endif
+  #define dbopen __db185_open
+  DB185 *__db185_open __P((const char *, int, int, DBTYPE, const void *));
+  #if defined(__cplusplus)
+  }
+  #endif
+  
+! #endif /* !_DB_185_H_ */
+--- 3,15 ----
+  extern "C" {
+  #endif
+  #define dbopen __db185_open
++ #ifdef _DB185_INT_H_
+  DB185 *__db185_open __P((const char *, int, int, DBTYPE, const void *));
++ #else
++ DB *__db185_open __P((const char *, int, int, DBTYPE, const void *));
++ #endif
+  #if defined(__cplusplus)
+  }
+  #endif
+  
+! #endif /* _DB_185_H_ or _DB185_INT_H_ */
+*** include_auto/db185_uext.in 2001/04/10 20:44:20     1.1
+--- include_auto/db185_uext.in 2001/07/30 14:12:48
+***************
+*** 3,12 ****
+  extern "C" {
+  #endif
+  #define dbopen __db185_o...@db_version_unique_name@
+  #define      __db185_open __db185_o...@db_version_unique_name@
+  DB185 *__db185_open __P((const char *, int, int, DBTYPE, const void *));
+  #if defined(__cplusplus)
+  }
+  #endif
+  
+! #endif /* !_DB_185_H_ */
+--- 3,17 ----
+  extern "C" {
+  #endif
+  #define dbopen __db185_o...@db_version_unique_name@
++ #ifdef _DB185_INT_H_
+  #define      __db185_open __db185_o...@db_version_unique_name@
+  DB185 *__db185_open __P((const char *, int, int, DBTYPE, const void *));
++ #else
++ #define      __db185_open __db185_o...@db_version_unique_name@
++ DB *__db185_open __P((const char *, int, int, DBTYPE, const void *));
++ #endif
+  #if defined(__cplusplus)
+  }
+  #endif
+  
+! #endif /* _DB_185_H_ or _DB185_INT_H_ */

Added: csw/mgar/pkg/bdb3/trunk/files/patch.3.3.11.2
===================================================================
--- csw/mgar/pkg/bdb3/trunk/files/patch.3.3.11.2                                
(rev 0)
+++ csw/mgar/pkg/bdb3/trunk/files/patch.3.3.11.2        2009-07-14 12:11:29 UTC 
(rev 5571)
@@ -0,0 +1,15 @@
+*** build_vxworks/db.h.orig    Mon Jul 30 09:49:54 2001
+--- build_vxworks/db.h Wed Dec 31 19:00:00 1969
+***************
+*** 32,37 ****
+--- 32,41 ----
+  extern "C" {
+  #endif
+  
++ #ifndef      HAVE_VXWORKS
++ #define      HAVE_VXWORKS    1
++ #endif
++ 
+  /*
+   * XXX
+   * Handle function prototypes and the keyword "const".  This steps on name


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.
_______________________________________________
devel mailing list
[email protected]
https://lists.opencsw.org/mailman/listinfo/devel

Reply via email to