[ITP]: Berkley DB v2

Nicholas Wourms nwourms@netscape.net
Wed Jun 19 11:18:00 GMT 2002


Greetings,

Gerrit Haase and I will be submitting various versions of the Berkeley DB for inclusion into the cygwin distribution.  We begin with the Berkley DB2, which is the first major revision of the original Berkeley DB.  The version of db-2 is 2.7.7, which is the last stable version released for the db-2 line.  There are many projects which can use the db-2, one such project being xemacs.  Our intent is to provide the standard database api's in the same manner as redhat does, by partitioning the libraries in their own directory based on revision number.  Post-install will then create symbolic links to the most current version.  Previous versions can be specified by explicitly declaring the path to the particular version's directory or explicitly linking to that version.  For example "-L/usr/lib/db2 -ldb" or "-ldb2".  The packages for db-2 are based on packaging method #2 and were done originally by Charles Wilson and Harold Hunt.  We have volunteered to maintain them for them, as they have other projects to work on.  The packages have been split up into the following:

db2 - core db2
libdb2 - db2 runtime
libdb2-devel - db2 development libraries and utilities

Why this was done is best explained by Chuck, who explained it to me as:

"It's a bit confusing, true -- but it came about in an evolutionary 
process while Harold and I were refining the db2 and db3.3 packages. 
Perhaps they are the tonsils or appendices of the evolutionary 
progression; it isn't clear yet.

The idea was this:  db2-devel MUST contain docu on the utilities it 
provides.  Also, since the database manipulation programs are version 
specific (that is, if you have a db2 database, you MUST use 
db2_checkpoint and db2_archive on it; if all you have is 
db3.3_checkpoint, then you're up a creek).  So, these utility programs 
must be able to coexist with newer versions -- hence, they are named 
"db2_foo" (with symlinks db_foo pointing to them) and they are part of 
the db2-devel package NOT the db package.  [otherwise, they'd get 
replaced when you update 'db'].  This way, the unversioned symlinks 
point to the most-recently-installed utilities, but the versioned 
utilities are there "forever" -- along with their documentation.

It's just bad luck that once you pull out the runtime libs and put them 
into fooVER, pull out the utility programs, link libs, and headers and 
put them into fooVER-devel, all that's left behind in foo is documentation.

If there were, for instance, example programs (NOT versioned utilities) 
and sample databases, then those would probably go into foo.  (because 
"examples" are really only meaningful for the "current" version.  Who
cares about sample databases for the 3-year-old db2 format?)"

Which makes perfect sense.  In any event, the packages are now available at:
http://today.clemson.edu/cygwin/release/db/db2/setup.hint
http://today.clemson.edu/cygwin/release/db/db2/db-2.7.7-3.tar.bz2
http://today.clemson.edu/cygwin/release/db/db2/db-2.7.7-3-src.tar.bz2
http://today.clemson.edu/cygwin/release/db/db2/libdb2/setup.hint
http://today.clemson.edu/cygwin/release/db/db2/libdb2/libdb2-2.7.7-3.tar.bz2
http://today.clemson.edu/cygwin/release/db/db2/libdb2-devel/setup.hint
http://today.clemson.edu/cygwin/release/db/db2/libdb2-devel/libdb2-devel-2.7.7-3.tar.bz2

The setup.hints for the packages:

<db2>
category: Database
requires: cygwin libdb2
sdesc: "The Sleepycat Berkeley DB Library v2"
ldesc: "High performance database library supporting B+trees, Hash
trees, transactional capabilities and more. More details are available
at sleepycat.com"

<libdb2>
category: Database
requires: cygwin 
sdesc: "The Sleepycat Berkeley DB Library v2 - runtime"
ldesc: "High performance database library supporting B+trees, Hash
trees, transactional capabilities and more. More details are available
at sleepycat.com"

<libdb2-devel>
category: Database
requires: cygwin libdb2
sdesc: "The Sleepycat Berkeley DB Library v2 - devel"
ldesc: "High performance database library supporting B+trees, Hash
trees, transactional capabilities and more. More details are available
at sleepycat.com"

I have attached db2.README for your reference.

Cheers,
Nichols

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: db2.README
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20020619/173740ba/attachment.ksh>


More information about the Cygwin-apps mailing list