Bump the Windows build to use Sleepycat's 4.1.25.NC release (the

latest bsddb release without strong cryptography).
This commit is contained in:
Tim Peters 2003-01-24 15:31:31 +00:00
parent bcb0e20091
commit 0064026668
4 changed files with 53 additions and 64 deletions

View File

@ -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.

View 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

View File

@ -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);

View 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.
Unpack into
dist\db-4.1.25
XXX We're actually linking against Release_static\libdb40s.lib.
[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.