db4.3
-------------------------------------------------------------------------------
Oracle Berkeley DB is the industry-leading open source, embeddable 
database engine that provides developers with fast, reliable, local persistence 
with zero administration. Oracle Berkeley DB is a library that links directly 
into your application. Your application makes simple function calls, rather than 
sending messages to a remote server, eliminating the performance penalty of 
client-server architectures. Oracle Berkeley DB eliminates the overhead of SQL query 
processing, enabling applications with predictable access patterns to run faster.


Runtime requirements:
  cygwin-1.5.24
  alternatives-1.3.29a
  tcltk-20060202
  
Build requirements:
  cygwin-1.5.24
  cygport-0.2.10
  bash-3.2.25
  gcc-3.4.4
  binutils-20060817
  make-3.81
  sed-4.1.5
  coreutils-6.7
  findutils-4.3.2
  tcltk-20060202

Canonical homepage:
  http://www.oracle.com/technology/products/berkeley-db/db/index.html

Canonical download:
  http://download-uk.oracle.com/berkeley-db/db-4.3.29.tar.gz
  
License:
  <http://www.oracle.com/technology/software/products/berkeley-db/htdocs/licensing.html>

Language:
  <C, C++>

-------------------------------------------------------------------------------

Build instructions:
  unpack db-4.3.29.1-X-src.tar.bz2
    if you use setup to install this src package, it will be
 unpacked under /usr/src automatically
  cd /usr/src
  cygport ./db-4.3.29.1-X.cygport all

This will create:
  /usr/src/db-4.3.29.1-X-src.tar.bz2
  /usr/src/db-4.3.29.1-X.tar.bz2
  /usr/src/libdb4.3-4.3.29.1-X.tar.bz2
  /usr/src/libdb4.3-devel-4.3.29.1-X.tar.bz2
  /usr/src/tcl-db4.3-4.3.29.1-X.tar.bz2

Or use 'cygport ./db-4.3.29.1-X.cygport prep' to get a patched source directory

To find out the files included in the binary distribution, you can
use "cygcheck -l db4.3 libdb4.3-devel libdb4.3 tcl-db4.3", or browse the listing
for the appropriate version at <http://cygwin.com/packages/>.

-------------------------------------------------------------------------------

Port Notes:

----- version db-4.3.29.1-1 --- Mon 10 Dec 20:42:57 2007 ---

 o Maintainer change
 o Switched to cygport build framework
 o Repackaged dbX,libdbX-devel and libdbX slightly
 o Now using alternatives for choosing the different dbX versions
 o Added tcl support in tcl-dbX package

----- version 4.3.28-1 -----

* Upgrade from 4.2.xx series.

* Adopted the 4.2.52-x patches and buildscripts for 4.3.28-1.

* For examples please get the source package.

----- version 4.2.52-1 -----

* Upgrade from 4.1.xx series.

* Adopted the 4.1.25-x patches and buildscripts for 4.2.52-1.

* This release is compiled with gcc-3.3.1-1.  Due to a change in
  exception handling in gcc this is not compatible with older gcc
  releases.

* For examples please get the source package.

----- version 4.1.25-1 -----

* Upgrade from 4.0.xx series. 

* Adopted the 4.0.14-x patches and buildscripts for 4.1.25-1.

* This release is compiled with gcc-3.3.1-1.  Due to a change in 
  exception handling in gcc this is not compatible with older gcc 
  releases.

* For examples please get the source package.

----- version 4.0.14-4 -----

[Needs to be Documented]

Never released for the Cygwin netrelease.

* Used Charles Wilson's prior db builds to assist in building
	the new 4.0.14 version with working libtool!

----- version 4.0.14-[1-3] -----
* Gerrit P. Haase worked on the intial 4.0.14 port, he will provide
	details here:  These are no longer available for the public.

----- version 3.3.11-2 -----

Never released for the Cygwin netrelease.

= include files installed into /usr/include/db3.3/ so that they
  can coexist with the ones from db-2.7.x (and from db-3.(x != 3).y)
= Utility programs were renamed from "db_*.exe" to "db3.3_*.exe"
  so they can coexist with the ones from version 2.
= A postinstall script creates symlinks for the "original" 
  names/locations, so that "-ldb" and "#include <db.h>"
  still work.

These changes were based on the packaging structure of the
Mandrake and Red Hat RPMS for these packages.  (They've figured
out the problems and found a solution; let's copy theirs...)

So why does 2.7.x use "2" as the version number, but 3.3.x uses
"3.3"?
  - because, in truth, Sleepycat breaks binary compatibility
    and source compatibility when MINOR_VERSION changes.  So,
    2.7.x should REALLY be using "2.7".  However, since 2.7.x
    development has ended, we can get away with just using "2",
    because there will never be 2.8.x series to conflict with it.

Hey, Red Hat doesn't put the include file into /db3.3/ -- they
use /db3/.
  - you're right.  Red Hat's scheme won't work with the cygwin
    packaging structure, because setup.exe can't detect file
	 conflicts.  If the libdb3.4-devel package came out, it would
	 ALSO try to put its header files into /db3/, which would
	 conflict.  But, you *should* be able to install libdb3.4-devel
	 and libdb3.3-devel in parallel.  So, we put the headers into
	 /db3.x/ and create a symlink from /db3/ using a postinstall
	 script.

What's all this with postinstall scripts?
- When two packages could that SHOULD be able to coexist both
  produce the same file, instead of including that file in the 
  tarballs, we insure that the filenames are distinct (e.g. 
  no conflict), and then use a postinstall script to create a symlink
  from the contested name.  That way, whichever one was installed
  last (usually the NEWEST one) "wins" -- the symlink points to 
  the most recent copy.
  

----- version 3.3.11-1 -----

Never released for the Cygwin netrelease.

Upgrade from 2.x.x series.

# The tcl support in db-3.x.x uses the 'ByteArray' object, which was
# introduced in tcl-8.1. Since the tcl distributed with cygwin is
# version 8.0.x, db-3.x.x tcl support cannot be built.  However, 
# the patches necessary to build libdb_tcl.dll have been left in, so 
# that when cygwin updates to a newer tcl we can more easily revisit 
# this issue.

# Also, --enable-test requires tcl support, so that's unavailable too.

# The following would be nice, but again, tcl support requires 8.1 
#  --enable-tcl --with-tclconfig=/usr/lib --enable-test 

Sleepycat changed their library versioning scheme in the 3.x series.
Now, each library -- even static libs -- are versioned with the 
MAJOR and MINOR version numbers.  So, we have 'libdb-3.3.a', and
you'd link using '-ldb-3.3'.  However, to simplify things, Sleepycat
does permit distributors to create symbolic links for the development
libraries (static, import, and libtool).  We have done that
in the -devel package, so '-ldb' will still work.

All #ifdef (WIN32) statements are guarded with '&& !(__CYGWIN__)' or 
  expanded with '|| (__CYGWIN__)' as appropriate. So, the cygwin 
  version should work whether 'WIN32' is defined or not (e.g.
  whether '-mno-win32' is used or not)

----- version 2.7.7-1 -----
Initial release


Cygwin port maintained by: Dr. Volker Zell <dr.volker.zell@oracle.com>
Original Cygwin port maintained by: 
- Nicholas S. Wourms	nwourms@netscape.net
- Gerrit P. Haase	gp@familiehaase.de
 
