Package: hello
Version: 3.0.3-1
Tags: patch

I have included a patch from Fedora which allows gramps to work with BerkeleyDB 
4.7: 
http://cvs.fedoraproject.org/viewvc//devel/gramps/gramps-3.0.3-dbcrash.patch?view=markup

                    Joseph Smidt

--- src/gen/db/dbdir.py 2008/04/05 22:04:30 10487
+++ src/gen/db/dbdir.py 2008/11/13 08:07:59 11296
@@ -480,8 +480,13 @@
         # These env settings are only needed for Txn environment
         self.env.set_lk_max_locks(25000)
         self.env.set_lk_max_objects(25000)
-        self.env.set_flags(db.DB_LOG_AUTOREMOVE, 1)  # clean up unused logs
-
+ + if db.version() < (4, 7):
+            # Python 2.5 log settings
+            self.env.set_flags(db.DB_LOG_AUTOREMOVE, 1) # clean up unused logs
+        else:
+            # Python 2.6 log settings (db version 4.7.25)
+            self.env.set_flags(db.DB_LOG_AUTO_REMOVE, 1)
         # The DB_PRIVATE flag must go if we ever move to multi-user setup
         env_flags = db.DB_CREATE | db.DB_PRIVATE |\
                     db.DB_INIT_MPOOL | db.DB_INIT_LOCK |\
@@ -1556,7 +1561,8 @@
         transaction = BdbTransaction(msg, self.undodb, batch, no_magic)
         if transaction.batch:
             self.env.txn_checkpoint()
-            self.env.set_flags(db.DB_TXN_NOSYNC, 1)      # async txn
+            if db.version() < (4, 7):
+                self.env.set_flags(db.DB_TXN_NOSYNC, 1)      # async txn

             if self.secondary_connected and not transaction.no_magic:
                 # Disconnect unneeded secondary indices
@@ -1594,7 +1600,8 @@
         self.txn.commit()
         if transaction.batch:
             self.env.txn_checkpoint()
-            self.env.set_flags(db.DB_TXN_NOSYNC, 0)      # sync txn
+            if db.version() < (4, 7):
+                self.env.set_flags(db.DB_TXN_NOSYNC, 0)      # sync txn

             if not transaction.no_magic:
                 # create new secondary indices to replace the ones removed
@@ -1697,7 +1704,12 @@
         # These env settings are only needed for Txn environment
         self.env.set_lk_max_locks(25000)
         self.env.set_lk_max_objects(25000)
-        self.env.set_flags(db.DB_LOG_AUTOREMOVE, 1)  # clean up unused logs
+        if db.version() < (4, 7):
+            # Python 2.5 log settings
+            self.env.set_flags(db.DB_LOG_AUTOREMOVE, 1) # clean up unused logs
+        else:
+            # Python 2.6 log settings (db version 4.7.25)
+            self.env.set_flags(db.DB_LOG_AUTO_REMOVE, 1)

         # The DB_PRIVATE flag must go if we ever move to multi-user setup
         env_flags = db.DB_CREATE | db.DB_PRIVATE |\




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to