Bump the Windows build to use Sleepycat's 4.1.25.NC release (the
authorTim Peters <tim.peters@gmail.com>
Fri, 24 Jan 2003 15:31:31 +0000 (15:31 +0000)
committerTim Peters <tim.peters@gmail.com>
Fri, 24 Jan 2003 15:31:31 +0000 (15:31 +0000)
latest bsddb release without strong cryptography).

Misc/NEWS
PCbuild/_bsddb.dsp
PCbuild/bsddb_patch.txt [deleted file]
PCbuild/readme.txt

index bfcddd93e591b099b1c4804f98d1544b9744ce08..fdc37309d3f95876b70a5c61b68bcd0ff751447c 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -32,6 +32,9 @@ Extension modules
 
 - fcntl now exposes the strops.h I_* constants.
 
+- Fix a crash on Solaris that occurred when calling close() on
+  an mmap'ed file which was already closed.  (SF patch #665913)
+
 - datetime changes:
 
   The datetime and datetimetz classes have been collapsed into a single
@@ -103,9 +106,6 @@ Extension modules
   possible to have timestamps that differ by a second, yet where
   datetimes constructed from them are equal.
 
-- Fix a crash on Solaris that occurred when calling close() on
-  an mmap'ed file which was already closed.  (SF patch #665913)
-
 Library
 -------
 
@@ -181,6 +181,9 @@ TBD
 Windows
 -------
 
+- The bsddb module now ships with Sleepycat's 4.1.25.NC, the latest
+  release without strong cryptography.
+
 - sys.path[0], if it contains a directory name, is now always an
   absolute pathname.
 
index e1857c5c983ccbb8134a54185f59f0735844670a..2bee39dda3ca301337a8deb4479d463af4aa343e 100644 (file)
@@ -44,7 +44,7 @@ RSC=rc.exe
 # PROP Target_Dir ""
 F90=df.exe
 # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\Include" /I "..\PC" /I "..\..\db-4.0.14\build_win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\Include" /I "..\PC" /I "..\..\db-4.1.25\build_win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.0.14\build_win32\Release_static\libdb40s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrt" /out:"./_bsddb.pyd"
+# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.1.25\build_win32\Release_static\libdb41s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrt" /out:"./_bsddb.pyd"
 # SUBTRACT LINK32 /pdb:none
 
 !ELSEIF  "$(CFG)" == "_bsddb - Win32 Debug"
@@ -72,7 +72,7 @@ LINK32=link.exe
 # PROP Target_Dir ""
 F90=df.exe
 # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\Include" /I "..\PC" /I "..\..\db-4.0.14\build_win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\Include" /I "..\PC" /I "..\..\db-4.1.25\build_win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
@@ -82,7 +82,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.0.14\build_win32\Release_static\libdb40s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrtd" /out:"./_bsddb_d.pyd" /pdbtype:sept
+# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.1.25\build_win32\Release_static\libdb41s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrtd" /out:"./_bsddb_d.pyd" /pdbtype:sept
 # SUBTRACT LINK32 /pdb:none
 
 !ENDIF 
diff --git a/PCbuild/bsddb_patch.txt b/PCbuild/bsddb_patch.txt
deleted file mode 100644 (file)
index d4c51bc..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-This patch is against Sleepycat's db-4.0.14 release.  It's not on the
-Sleepycat site.  It fixes cases of database corruption Barry (Warsaw)
-was seeing, and Barry got it from Sleepycat.
-
-*** db/db_reclaim.c.orig       2002/04/05 16:16:17     11.22
---- db/db_reclaim.c    2002/04/10 18:53:13     11.23
-***************
-*** 195,202 ****
-                                   dbp->log_fileid, p->pgno, &LSN(meta),
-                                   PGNO_BASE_MD, &ldbt, meta->free)) != 0)
-                                       goto err;
-- 
-                               LSN(p) = LSN(meta);
-                               if ((ret =
-                                   __db_pg_alloc_log(dbp->dbenv,
-                                   param->dbc->txn, &LSN(meta), 0,
---- 195,202 ----
-                                   dbp->log_fileid, p->pgno, &LSN(meta),
-                                   PGNO_BASE_MD, &ldbt, meta->free)) != 0)
-                                       goto err;
-                               LSN(p) = LSN(meta);
-+ 
-                               if ((ret =
-                                   __db_pg_alloc_log(dbp->dbenv,
-                                   param->dbc->txn, &LSN(meta), 0,
-***************
-*** 206,211 ****
---- 206,213 ----
-                                       (void)__TLPUT(param->dbc, metalock);
-                                       return (ret);
-                               }
-+                              LSN(p) = LSN(meta);
-+ 
-                               if ((ret = mpf->put(mpf,
-                                    (PAGE *)meta, DB_MPOOL_DIRTY)) != 0) {
-                                       (void)__TLPUT(param->dbc, metalock);
index b6cd15c3aaa71032e3db10b346890eaf3905c009..0d7dc39efa18ba5207c66f8e6246f709f7119ecb 100644 (file)
@@ -163,30 +163,27 @@ bz2
 
 
 _bsddb
-    XXX The Sleepycat release we use will probably change before
-    XXX 2.3a1.
-    Go to Sleepycat's patches page:
-        http://www.sleepycat.com/update/index.html
-    and download
-        4.0.14.zip
-    from the download page.  The file name is db-4.0.14.zip.  Unpack into
-        dist\db-4.0.14
+    Go to Sleepycat's download page:
+        http://www.sleepycat.com/download/
 
-    Apply the patch file bsddb_patch.txt in this (PCbuild) directory
-    against the file
-        dist\db-4.0.14\db\db_reclaim.c
+    and download version 4.1.25.  The file name is db-4.1.25.NC.zip.
+    XXX with or without strong cryptography?  I picked "without".
 
-    Go to
-        http://www.sleepycat.com/docs/ref/build_win/intro.html
-    and follow the instructions for building the Sleepycat software.
-    Build the Release version.
-    NOTE:  The instructions are for a later release of the software,
-    so use your imagination.  Berkeley_DB.dsw in this release was
-    also pre-MSVC6, so you'll be prompted to upgrade the format (say
-    yes, of course).  Choose configuration "db_buildall - Win32 Release",
-    and build db_buildall.exe.
-
-    XXX We're actually linking against Release_static\libdb40s.lib.
+    Unpack into
+        dist\db-4.1.25
+
+    [If using WinZip to unpack the db-4.1.25.NC distro, that requires
+     renaming the directory (to remove ".NC") after unpacking.
+    ]
+
+    Open
+        dist\db-4.1.25\docs\index.html
+
+    and follow the Windows instructions for building the Sleepycat
+    software.  Note that Berkeley_DB.dsw is in the build_win32 subdirectory.
+    Build the Release version ("build_all -- Win32 Release").
+
+    XXX We're actually linking against Release_static\libdb41s.lib.
     XXX This yields the following warnings:
 """
 Compiling...
@@ -201,6 +198,31 @@ _bsddb.pyd - 0 error(s), 4 warning(s)
 """
     XXX This isn't encouraging, but I don't know what to do about it.
 
+    To run extensive tests, pass "-u bsddb" to regrtest.py.  test_bsddb3.py
+    is then enabled.  Running in verbose mode may be helpful.
+
+    XXX The test_bsddb3 tests don't always pass, on Windows (according to
+    XXX me) or on Linux (according to Barry).  I had much better luck
+    XXX on Win2K than on Win98SE.  The common failure mode across platforms
+    XXX is
+    XXX     DBAgainError: (11, 'Resource temporarily unavailable -- unable
+    XXX                         to join the environment')
+    XXX
+    XXX and it appears timing-dependent.  On Win2K I also saw this once:
+    XXX
+    XXX test02_SimpleLocks (bsddb.test.test_thread.HashSimpleThreaded) ...
+    XXX Exception in thread reader 1:
+    XXX Traceback (most recent call last):
+    XXX File "C:\Code\python\lib\threading.py", line 411, in __bootstrap
+    XXX    self.run()
+    XXX File "C:\Code\python\lib\threading.py", line 399, in run
+    XXX    apply(self.__target, self.__args, self.__kwargs)
+    XXX File "C:\Code\python\lib\bsddb\test\test_thread.py", line 268, in
+    XXX                  readerThread
+    XXX    rec = c.next()
+    XXX DBLockDeadlockError: (-30996, 'DB_LOCK_DEADLOCK: Locker killed
+    XXX                                to resolve a deadlock')
+
 
 _ssl
     Python wrapper for the secure sockets library.