Commit graph

133 commits

Author SHA1 Message Date
rillig
07a9c07ce2 Fixed a "test ==" in the configure script. Fixed some pkglint warnings. 2006-10-05 01:24:32 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
rillig
743a9d4fea Load the files bsd.prefs.mk and compiler.mk only once. 2006-05-31 10:13:23 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
jlam
9c8b5ede43 Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where no
developer is officially maintaining the package.

The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list).  Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
2006-03-04 21:28:51 +00:00
minskim
0b0d3de25a Set DIST_SUBDIR due to the distfile change (.java files were removed). 2006-02-09 22:07:12 +00:00
wiz
4892cc8c94 Update to 4.4.20:
Changes since Berkeley DB 4.4.16:

1. Add support for Visual Studio 2005. [#13521]

2. Fix a bug with in-memory transaction logs when files wrapped
around the buffer. [#13589]

3. Fix a bug where we needed to close replication's open files during
replication initialization. [#13623]

4. Fix a bug which could leave locks in the environment if database
compaction was run in a transactional environment on a non-transactional
database. This might have also have triggered deadlocks if the database
was opened transactionally. [#13680]

5. Fix a bug where setting the DB_REGISTER flag could result in
unnecessarily running recovery, or corruption of the registry file on
Windows systems. [#13789]

6. Fix a bug in Database.compact that could cause JVM crashes or
NullPointerException. [#13791]

7. Fix a bug that would cause a trap if an environment was opened
specifying DB_REGISTER and the environment directory could not be found.
[#13793]

8. Fix a buffer overflow bug when displaying process and thread IDs
in the Berkeley DB statistics output. [#13796]

9. Fix a bug where if there is insufficient memory for a database key
in a DBT configured to return a key value into user-specified memory, the
cursor is moved forward to the next entry in the database, which can cause
applications to skip key/data pairs. [#13815]

10. Fix a bug that could cause the loss of an update to a QUEUE database
in a hot backup. [#13823]

11. Fix a bug where retrieval from a secondary index could result in a
core dump. [#13843]

12. Fix a bug that could cause part of the free list to become unlinked
if a btree compaction was rolled back due to a transaction abort. [#13891]

13. Fix a bug with in-memory logging that could cause a race condition to
corrupt the logs. [#13919]

[no shlib major bump this time, yay]
2006-02-05 00:12:54 +00:00
wiz
2ebb45f403 Update to 4.4.16:
New in Berkeley DB 4.4:

  * In-memory replication
  * Client-to-client replication
  * Delayed client synchronization
  * Synchronization throttling
  * Master election speed-ups
  * Hot backup utility
  * Online Btree compaction
  * Online Btree disk space reclamation
  * Online abandoned lock removal
  * Automated recovery serialization
  * Transactional Application Developer's Guide
2006-01-06 15:08:46 +00:00
rillig
b71a1d488b Fixed pkglint warnings. The warnings are mostly quoting issues, for
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some
other changes are outlined in

    http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-12-05 20:49:47 +00:00
tv
2d36ae9b5c Now that we're properly using the pkgsrc-supplied libtool, clean up the
bits of "configure" that were twiddling only libtool-config bits, as these
are no longer used.
2005-11-09 14:41:38 +00:00
tv
78c67e1260 Use the pkgsrc-installed libtool, not the throwaway in-tree libtool, to
choose between link commands for shared or static linking.

Should fix shlib build and install on Interix.
2005-11-04 18:47:52 +00:00
jlam
3eaa754521 Update databases/db4 to 4.3.29. This is a point release update over
4.3.28, so there are no API changes, and applications may be upgraded
by relinking against db4-4.3.29.  We stop pretending to support a
"java" package option since we never even bothered with handling the
PLIST differences.  Changes from version 4.3.28 include:

   * The on-disk log format has changed.
   * Add support for lightweight, transactionally protected Sequence
     Number generation.
   * Add support for Degree 2 isolation.
   * Add election generation information to replication to support Paxos
     compliance.
   * A huge number of bug fixes, including eliminating some instances of
     application deadlock and memory leak fixes.
   * Some minor performance enhancements.
2005-10-25 06:26:48 +00:00
wiz
5c11268df7 Remove some more *LEGACY* settings that are over a month old and
thus were before 2005Q3.
2005-10-05 13:29:49 +00:00
reed
6f4b4e8fe9 This adds DragonFly support. (Before shared libraries were not built.)
This is from Joerg Sonnenberger's diff.

I do not know if this support has been submitted to Sleepycat
for dist/configure* yet.
2005-08-19 19:46:24 +00:00
tron
ec8dc5a2f3 Disable optimizations for GCC <3.4. This fixes PR pkg/30647 by Ian Spray. 2005-07-01 15:32:51 +00:00
dillo
f81ae835ad Packages have no business modifying PKG_DEFAULT_OPTIONS -- it's a
user settable variable.  Set PKG_SUGGESTED_OPTIONS instead.  Also,
make use of PKG_OPTIONS_LEGACY_VARS.

Reviewed by wiz.
2005-05-31 10:01:36 +00:00
drochner
7523000033 update to 4.3.28
The Announcement:
Berkeley DB 4.3.28 is a patch release to 4.3.27, everyone is encouraged
to update to this version.  The following have been addressed in this
patch release:
1. All patches for the prior version have been applied as well
   as a few other fixes.
2. The product is available as a Windows x86 binary installer
   To see the change log for version 4.3.28, please visit:
   http://www.sleepycat.com/updat e/4.3.27/if.4.3.27.html
2005-05-10 16:24:48 +00:00
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
tv
b292ce4e37 Make build correctly on Interix -- -lrpclib is also needed in LIBS. 2005-03-14 23:30:42 +00:00
agc
671d62d2e2 Add RMD160 digests in addition to SHA1 ones. 2005-02-23 16:33:05 +00:00
tv
e300d1401f Interix needs -lrpclib. 2005-01-25 18:55:56 +00:00
jschauma
25b190e030 some older versions of SGI don't define "sgi", but both older and newer
versions define "__sgi", so use that.
This should fix PR pkg/28819.
2005-01-17 05:31:12 +00:00
markd
d707ab24e0 On Solaris link with -lrt or fdatasync is an unresolved symbol.
Bump PKGREVISION.
2005-01-05 12:16:12 +00:00
martti
fd15a8d857 Updated db4 to 4.3.27
* bug fixes
2005-01-05 08:06:42 +00:00
minskim
97658973a9 Use the -pthread option only when pthread is enabled. Previously, the
configure script still used -pthread during the POSIX mutex test even
when we explicitly disabled pthread through CONFIGURE_ENV, resulting
in re-enabling pthread.

Bump PKGREVISION.
2004-12-30 21:51:30 +00:00
jlam
0360ff8bd5 Update databases/db4 to 4.3.21. Changes from version 4.2.25 include:
* Automatic initialization of replication clients
* Replication election process is now Paxos compliant
* In memory transaction logs allowing in memory databases
* Enhanced Java API nearly identical to that of our Java Edition
* Native support for sequence number generation
* Degree 2 transaction isolation
* Mutex statistics can now be easily gathered and recorded
* Support for Itanium2 chips running Windows XP
2004-12-27 04:27:49 +00:00
jlam
9704ddf12c Further refinement... if we're using GCC, ignore any -lpthread found on
the system as we don't need it.
2004-11-17 21:32:10 +00:00
jlam
b818a1b4ba Amend the previous commit... we also only care about pthreads if we're
non-GCC.  DB4 uses its own code if we're using GCC instead of 1003.1
mutexes.  Ride the previous PKGREVISION bump.
2004-11-17 18:47:19 +00:00
jlam
0901a8c6c1 DB4 only want pthreads because it's really after POSIX 1003.1
inter-process mutexes.  In this case, we only care to use the native
threads.  Bump the PKGREVISION since this means that non-native pthreads
platforms will no longer depend on GNU pth.
2004-11-17 18:29:20 +00:00
jlam
26d70ae9f0 x86_64 supports the same test-and-set method as x86, so use it instead
of relying on UNIX/fnctl, which can block all threads between processes
and cause certain mutex assumptions to fail.
2004-11-17 07:10:45 +00:00
jlam
2e2379219d Include bsd.prefs.mk before testing the value of USE_JAVA, and move
pthread.buildlink3.mk higher before any target definitions to follow
package Makefile standards.
2004-11-17 06:04:43 +00:00
jlam
a37b1ba53e Migrate powerpc hack to hacks.mk to simplify core logic in Makefile. 2004-11-16 23:45:25 +00:00
jlam
b67b0725c4 Rework the Berkeley DB detection in buildlink3:
* Add a db1.builtin.mk file that detects whether DB-1.85 functionality
    exists in the base system, and remove the distinction between
    "native" and the other Berkeley DB packages -- we now refer to
    db[1234].  This paves the way for any future databases/db1 package.

  * USE_DB185 shouldn't need to be set by any packages -- its correct
    value is now automatically determined by bdb.buildlink3.mk depending
    on whether we explicitly request db1 or not.  By default, if you
    include bdb.buildlink3.mk, you want DB-1.85 functionality and
    USE_DB185 defaults to "yes", but if you explicitly remove db1 from
    the list of acceptable DBs, then USE_DB185 defaults to "no".

  * Set BDB_LIBS to the library options needed to link against the DB
    library when bdb.buildlink3.mk is included.

  * We only add the DB library to the linker command automatically if
    we want DB-1.85 functionality; otherwise assume that the package
    configure process can figure out how to probe for the correct
    headers and libraries.

Edit package Makefiles to nuke redundant settings of USE_DB185.
2004-11-15 17:54:49 +00:00
jlam
22072c185e libdb4.so links with -lpthread, so include pthread.buildlink3.mk. 2004-11-15 15:07:14 +00:00
jlam
d1266fd828 Use the distribution patches (patch.4.2.52.{1,2}) directly from
Sleepycat instead of patch-ba and patch-bb.  Since patch-ba was actually
an incomplete version of patch.4.2.52.1, we bump the PKGREVISION.
2004-11-10 15:51:23 +00:00
grant
41aa333b2d fix config.{guess,sub} override. 2004-11-05 09:24:39 +00:00
tv
c487cb967a Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10
in the process.  (More information on tech-pkg.)

Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.

Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
2004-10-03 00:12:51 +00:00
agc
43321a5469 The mechanical PLIST changes were a bit too aggressive - restore some
files and symlinks mistakenly removed.
2004-09-23 16:55:09 +00:00
jlam
1a280185e1 Mechanical changes to package PLISTs to make use of LIBTOOLIZE_PLIST.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:

	lib/libfoo.a
	lib/libfoo.la
	lib/libfoo.so
	lib/libfoo.so.0
	lib/libfoo.so.0.1

one simply needs:

	lib/libfoo.la

and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.

Also make LIBTOOLIZE_PLIST default to "yes".
2004-09-22 08:09:14 +00:00
jlam
8d572feba3 Use the new BUILDLINK_TRANSFORM commands to more precisely state the
intended transformation: use "rm" to remove an option, "rmdir" to remove
all options containing a path starting with a given directory name, and
"rename" to rename options to something else.
2004-08-28 06:05:31 +00:00
jlam
ca70938428 Replace RPATH_FLAG with LINKER_RPATH_FLAG and COMPILER_RPATH_FLAG,
which are the full option names used to set rpath directives for the
linker and the compiler, respectively.  In places were we are invoking
the linker, use "${LINKER_RPATH_FLAG} <path>", where the space is
inserted in case the flag is a word, e.g. -rpath.  The default values
of *_RPATH_FLAG are set by the compiler/*.mk files, depending on the
compiler that you use.  They may be overridden on a ${OPSYS}-specific
basis by setting _OPSYS_LINKER_RPATH_FLAG and _OPSYS_COMPILER_RPATH_FLAG,
respectively.  Garbage-collect _OPSYS_RPATH_NAME and _COMPILER_LD_FLAG.
2004-08-27 06:29:06 +00:00
grant
234b8d1088 provide BUILDLINK_CPPFLAGS, LDFLAGS and LIBS for each pkgsrc db
implementation.
2004-07-10 03:01:38 +00:00
wiz
087979a56f Set BUILDLINK_LIBDIRS.db?, as mail/exim expects. 2004-07-07 08:45:39 +00:00
recht
d0777e5a0b Add two patches from Sleepycat:
1. Long-running applications can hang in the Berkeley DB cache.
   http://www.sleepycat.com/update/4.2.52/patch.4.2.52.1 as patch-ba

2. Replication clients fail to lock all the necessary pages when
   applying updates if there were more than one database in the transaction.
   http://www.sleepycat.com/update/4.2.52/patch.4.2.52.2 as patch-bb

Bump PKGREVISION to 4.
2004-07-01 15:17:21 +00:00
wiz
6ef1244cbb Unused. 2004-07-01 13:45:08 +00:00
jlam
e6aa5ca27d Move the HTML documentation into ${PREFIX}/share/doc/html. Bump the
PKGREVISION due to user-visible difference.
2004-06-28 22:11:37 +00:00
grant
23ff9a540c link libdb4 against libnsl on Solaris so programs that use it can
resolve all symbols. bump PKGREVISION.

fixes PR pkg/24720.
2004-06-17 14:24:32 +00:00
grant
62251d34d3 whitespace nit 2004-06-17 13:43:06 +00:00
jmmv
eb0902cbf4 When -lpthread is used, link the db4 library against it, so that programs
using -ldb4 alone don't complain about missing symbols.  This fixes the
build of some programs (like evolution-data-server), as exposed in Linux.
2004-04-07 15:12:40 +00:00
jlam
9b22ee7e7d Always pass the location of the db[34] headers since we install them in a
non-standard location.  Also match the new USE_DB185 behaviour where it
defaults to "yes".
2004-03-30 16:19:51 +00:00
jlam
312f1fab55 Transform -ldb-[34] to -ldb[34], respectively, as they're the better known
names for the newer Sleepycat DB libraries.
2004-03-22 18:18:26 +00:00
snj
b7bdee3c2f Re-fix this on 1.6 sparc64. 2004-03-20 05:42:35 +00:00
jlam
a276256b57 Rewrite comment so that it doesn't cause errors in make. 2004-03-18 22:11:11 +00:00
jlam
7db11b582a Fix serious bug where BUILDLINK_PACKAGES wasn't being ordered properly
by moving the inclusion of buildlink3.mk files outside of the protected
region.  This bug would be seen by users that have set PREFER_PKGSRC
or PREFER_NATIVE to non-default values.

BUILDLINK_PACKAGES should be ordered so that for any package in the
list, that package doesn't depend on any packages to the left of it
in the list.  This ordering property is used to check for builtin
packages in the correct order.  The problem was that including a
buildlink3.mk file for <pkg> correctly ensured that <pkg> was removed
from BUILDLINK_PACKAGES and appended to the end.  However, since the
inclusion of any other buildlink3.mk files within that buildlink3.mk
was in a region that was protected against multiple inclusion, those
dependencies weren't also moved to the end of BUILDLINK_PACKAGES.
2004-03-18 09:12:08 +00:00
jlam
57d1d7c027 Pre-3.3 GCC has an optimization bug on powerpc that's tickled by the db4
source code, so remove optimization flags in that case.  This fixes
PR 23737 by John Klos.
2004-03-14 19:32:40 +00:00
jlam
eccb01de96 Build databases/db4 with the DB-1.85 compatability layer and bump the
PKGREVISION.  This allows using db4 as BDB_DEFAULT for packages that
USE_DB185.
2004-03-12 21:35:58 +00:00
jlam
4aec779271 s/db3/db4/ 2004-03-12 02:21:02 +00:00
jlam
f3e38fb48d bdb.buildlink3.mk is used to select a Berkeley DB implementation for
use by pkgsrc.  It will automatically depend on either db, db3, or db4
if the native one isn't sufficient.  The two variables that control its
behaviour are:

BDB_DEFAULT is a user-settable variable whose value is the default
       Berkeley DB implementation to use.

BDB_ACCEPTED is a package-settable list of Berkeley DB implementations
       that may be used by the package.

E.g., if you always want to use DB4 as the Berkeley DB for all of the
packages, then you can just set:

	BDB_DEFAULT=	db4

in your /etc/mk.conf.

Packages that currently include db*/buildlink3.mk should be made to
include bdb.buildlink3.mk instead.
2004-03-10 18:06:06 +00:00
jlam
9ff0e10340 Reorder location and setting of BUILDLINK_PACKAGES to match template
buildlink3.mk file in revision 1.101 of bsd.buildlink3.mk.
2004-03-05 19:25:06 +00:00
jlam
ec993afa1a LIBTOOL_OVERRIDE and SHLIBTOOL_OVERRIDE are now lists of shell globs
relative to ${WRKSRC}.  Remove redundant LIBTOOL_OVERRIDE settings that
are automatically handled by the default setting in bsd.pkg.mk.
2004-02-14 17:21:32 +00:00
jlam
1b2674fcd7 The BUILDLINK_DEPENDS.<pkg> lines should match between the buildlink3.mk
and any pre-existing buildlink2.mk files.
2004-02-10 20:45:01 +00:00
jlam
17d1ca394e These packages need a C++ compiler. 2004-02-02 13:02:49 +00:00
jlam
a7d877ca6a Append to BUILDLINK_DEPENDS.<pkg> instead of setting a default value. In
the normal case when BUILDLINK_DEPENDS.<pkg> isn't specified, it receives
a value only once due to the multiple inclusion protection in the
bulldlink3.mk files.  In the case where a package includes several
buildlink3.mk files that each want a slightly different version of another
dependency, having BUILDLINK_DEPENDS.<pkg> be a list allows for the
strictest <pkg> dependency to be matched.
2004-01-24 03:26:45 +00:00
agc
dc52048e01 Move WRKSRC definition away from the first paragraph in a Makefile. 2004-01-20 12:07:06 +00:00
jlam
a39c6cf9fa bl3ify 2004-01-05 20:48:01 +00:00
jlam
d279e6f535 Use S/+$// instead of C/\+$// to save a backslash. Very highly
recommended by seb :)
2004-01-05 11:05:44 +00:00
jlam
ec57e78594 Use BUILDLINK_{INCDIRS,LIBDIRS}.<pkg> instead of
BUILDLINK_{CPPFLAGS,LDFLAGS}.<pkg> where we're adding search directories.
Using the former should do the right thing for pkgviews if we do binary
package upgrades of dependencies by inserting the right default view
directories into the search path as well.
2004-01-04 23:46:39 +00:00
jlam
47bb2aae5f Re-arrange to match example buildlink3.mk file in bsd.buildlink3.mk. 2004-01-04 23:34:04 +00:00
jlam
339cd13cb2 Initial sprinkling of work-in-progress buildlink3.mk files for using the
buildlink3 framework.
2004-01-03 23:06:43 +00:00
uebayasi
cc76451010 Export some missed libraries and hide obsolete headers for Buildlink2.
Min Sik Kim in PR pkg/23818.
2003-12-21 07:28:29 +00:00
seb
c1e49db845 Work around a f77 ICE on NetBSD/sparc64 1.6* by "disabling" f77
completely. Please note that a Fortran compiler is not needed by
this package but configure -libtool in fact- tickles it if one is
found.
Also fix build for older NetBSD/sparc64 compiler by patching SHA1
code the usual way.
2003-12-08 23:15:05 +00:00
epg
995644f634 Forgot to commit this with patch-aa change. 2003-12-07 02:57:04 +00:00
epg
87166d40c4 Fix install when BSD_INSTALL_PROGRAM uses the -s option. Can't use
BSD_INSTALL_PROGRAM because some of the programs in the list are
interpreted scripts and others machine executables.
2003-12-07 02:30:31 +00:00
epg
62d66bbfd4 Update to 4.2.52.
Clean up Makefile.

Set MAINTAINER to tech-pkg@NetBSD.org (previous maintainer, Alex
Newman, says he no longer maintains this).

Changes are too many to list.
2003-12-07 00:51:07 +00:00
wiz
346ac2bdac Update to 4.1.25, based on PR 20289 by Daniel Farrugia.
Database or Log File On-Disk Format Changes:

 1. All of the access method database formats changed in the Berkeley
 DB 4.1 release (Btree/Recno: version 8 to version 9, Hash: version
 7 to version 8, and Queue: version 3 to version 4). The format
 changes are entirely backward compatible, and no database upgrades
 are needed.

Major New Features:

 1. Berkeley DB now includes support for database encryption using
 the AES encryption standard. [#1797]

 2. Berkeley DB now includes support for database page checksums
 to allow detection of database corruption during I/O. [#1797]

 3. The shared memory buffer pool code base was substantially
 reworked in the 4.1 release to improve concurrent throughput.
 [#4655]

General Environment Changes:

 1. Allow applications to specify transaction handles to the DB->open method call, so database creation can be grouped with other Berkeley DB calls in a single transaction. [#4257]
 2. Add the DB_ENV->remove and DB_ENV->rename method calls that support transactional protection of database removal and renaming. [#4257]
 3. Add the DB_ENV->set_flags flags DB_DIRECT_DB and DB_DIRECT_LOG, which disable the system's buffer cache where possible. [#4526]
 4. Unlock the pthread mutex if pthread_cond_wait() returns an error. [#4872]
 5. Fix a memory leak caused by running recovery. [#4913]
 6. Fix a bug in which closing an environment with open database handles could result in application crashes. [#4991]
 7. Fix a bug where DB_CONFIG files were ignored if the database environment defaulted to the application's current working directory. [#5265]
 8. Fix a bug where transaction abort or commit could fail to destroy the handle. [#5633]
 9. Fix a set of bugs where the Berkeley DB API could return DB_RUNRECOVERY without panic-ing the database environment itself or calling the application's panic-callback function. [#5743]
10. Fix a bug in where DB=>rename and DB->remove method calls could leak a transaction and its locks. [#5824]
11. Fix a bug where recovery feedback could return values greater than 100. [#6193]
12. Fix a bug where a page allocated by a transaction, eventually aborted because of application or system failure, could appear twice in the free list, if catastrophic recovery was performed. [#6222]
13. Add a new flag, DB_AUTO_COMMIT, that wraps all database modification operations inside a transaction, to the DB_ENV->set_flags method. [#6395]
14. Fix a bug where recovery could fail when upgrading between releases. [#6372]
15. Fix a recovery bug where pages that were repeatedly freed and allocated could be lost. [#6479] [#6501]
16. Change DB_CONFIG reading to handle non-<newline> terminated last line. [#6490]

General Access Method Changes:

 1. Allow applications to specify transaction handles to the DB->associate method call, so secondary index creation can be grouped with other Berkeley DB calls in a single transaction. [#4185]
 2. Add a new flag, DB_AUTO_COMMIT, that wraps single database operations inside a transaction. This flag is supported by the DB->del, DB->open, DB->put, DB->truncate,DB_ENV->remove, and DB_ENV->rename methods. [#4257]
 3. The DB_EXCL DB->open method flag has been enhanced to work on subdatabases. [#4257]
 4. Fix a bug in which a DB->put(DB_APPEND) could result in leaked memory or a corruption in the returned record number. [#5002]
 5. Fix a bug in the database salvage code that could leave pages pinned in the cache. [#5037]
 6. Add a flag to the DB->verify method to output salvaged key/data pairs in printable characters. [#5037]
 7. Fix a bug in which DB->verify() might continue and report extraneous database corruption after a fatal error. [#5131]
 8. Fix a bug where calling the DB->stat method before the DB->open method could drop core. [#5190]
 9. Fix a bug in which a DB->get, DBcursor->c_get, or DBcursor->c_pget on a secondary index, in the Concurrent Data Store product, could result in a deadlock. [#5192]
10. Fix a bug in which DB->verify() could correctly report errors but still return success. [#5297]
11. Add support for the DB->set_cache_priority interface, that allows applications to set the underlying cache priority for their database files. [#5375]
12. Fix a bug where calling DBcursor->c_pget with a database that is not a secondary index would drop core. [#5391]
13. Fix a bug where a bug in the DB->truncate method could cause recovery to fail. [#5679]
14. Fix a bug where DB_GET_RECNO would fail if specified to a secondary index. [#5811]
15. Fix a bug where building a secondary index for an existing primary database could fail in Concurrent Data Store environments. [#5811]
16. Fix a bug where the DB->rename method could fail, causing a problem during recovery. [#5893]
17. Fix a bug in which a DB->get or DB->pget call on a secondary index could fail when done with a handle shared among multiple threads. [#5899]
18. Fix a bug in which a DB->put operation on a database with off-page duplicates could leak a duplicate cursor, thereby preventing transactions being able to commit. [#5936]
19. Fix a bug where overflow page reference counts were not properly maintained when databases were truncated. [#6168]
20. Fix a bug where the bulk get APIs could allocate large amounts of heap memory. [#6439] [#6520]

Btree Access Method Changes:

 1. Fix a bug that prevented loads of sorted data, with duplicates at the end of the tree, from creating compact trees. [#4926]
 2. No longer return a copy of the key if the DB_GET_BOTH or DB_GET_BOTH_RANGE flags are specified. [#4470]
 3. Fix a bug where the fast-search code could hold an unlocked reference to a page, which could lead to recovery failure. [#5518]
 4. Fix a bug where some cursor operations on a database, for which the bt_minkey size had been specified, could fail to use the correct overflow key/data item size. [#6183]
 5. Fix a bug where the recovery of an aborted transaction that did a reverse Btree split might leave a page in an inconsistent state. [#6393]

Hash Access Method Changes:

 1. Fix bugs that could cause hash recovery to drop core. [#4978]
 2. Use access method flags instead of interface flags to check for readonly access to a hash database with an application-specified hash function. [#5121]
 3. Fix a bug where a hash database allocation of a new set of buckets may be improperly recovered by catastrophic recovery if the transaction is split across log files and the beginning segment of the transaction is not included in the set of logs to be recovered. [#5942]
 4. Fix a bug where aborting particular hash allocations could lead to a database on which the verifier would loop infinitely. [#5966]
 5. Fix a bug where a memory allocation failure could result in a system hang. [#5988]
 6. Remove nelem from the Hash access method statistics (the value was incorrect once items had been added or removed from the database). [#6101]
 7. Fix a bug where a page allocated by an aborted transaction might not be placed on the free list by recovery, if the file holding the page was created as part of recovery, and a later page was part of a hash bucket allocation. [#6184]
 8. Fix a bug where allocated pages could be improperly recovered on systems that require explicit zero-ing of filesystem pages. [#6534]

Queue Access Method Changes:

 1. No longer return a copy of the key if the DB_SET_RANGE flag is specified. [#4470]
 2. Fix a bug where DBcursor->c_get (with DB_MULTIPLE or DB_MULTIPLE_KEY specified) could fail on a Queue database if the record numbers had wrapped. [#6397]

Recno Access Method Changes:

 1. No longer return a copy of the key if the DB_GET_BOTH or DB_GET_BOTH_RANGE flags are specified. [#4470]
 2. Fix a bug where non-transactional locking applications could leak locks when modifying Recno databases. [#5766]
 3. Fix a bug where DBcursor->c_get with the DB_GET_RECNO flag would panic the environment if the cursor was uninitialized. [#5935]
 4. Fix a bug where deleting pages from a three-level Recno tree could cause the database environment to panic. [#6232]

C++-specific API Changes:

 1. C++ DbLock::put is replaced by DbEnv::lock_put to match the C and Java API change in Release 4.0. [#5170]
 2. Declared destructors and methods within Db and DbEnv classes to be virtual, making subclassing safer. [#5264]
 3. Fixed a bug where Dbt objects with no flags set would not be filled with data by some operations. [#5706]
 4. Added DbDeadlockException, DbRunRecoveryException, and DbLockNotGrantedException classes to C++, and throw them accordingly. [#6134]
 5. Added C++ methods to support remaining conversions between C++ classes and C structs where appropriate. In particular, DbTxn/DB_TXN conversions and DbMpoolFile/DB_MPOOLFILE were added. [#6278]
 6. Fix a bug in DbEnv::~DbEnv() that could cause memory corruption if a DbEnv was deleted without being closed. [#6342]
 7. Reordered C++ class declarations to avoid a GCC g++ warning about function inlining. [#6406]
 8. Fix a bug in the DbEnv destructor that could cause memory corruption when an environment was destroyed without closing first. [#6342]
 9. Change DbEnv and Db destructor behavior to close the handle if it was not already closed. [#6342]

Java-specific API Changes:

 1. Added check for system property "sleepycat.Berkeley DB.libfile" that can be used to specify a complete pathname for the JNI shared library. This is needed as a workaround on Mac OS X, where libtool cannot currently create a library with a .jnilib extension which is what the current JDK expects by default. [#5664]
 2. Fixed handling of JVM out of memory conditions, when some JNI methods return NULL. When the JVM runs out of memory, calls should consistently fail with OutOfMemoryErrors. [#5995]
 3. Added Dbt.get_object and Dbt.set_object convenience routines to the Java API to make using serialization easier. [#6113]
 4. Fixed a bug that prevented Java's Db.set_feedback from working, fixed document for Java's Db.set_feedback, some callback methods were misnamed. [#6137]
 5. Fix a NullPointerException in Db.finalize() if the database had been closed. [#6504]
 6. Marked DbEnv constructor with "throws DbException". [#6342]

Tcl-specific API Changes:

    None.

RPC-specific Client/Server Changes:

 1. Fix a bug where Db and DbEnv handles were not thread-safe. [#6102]

Replication Changes:

 1. A large number of replication bugs were fixed in this release. The replication support is now believed to be production quality.
 2. Add the DB_ENV->set_rep_limit interface, allowing applications to limit the data sent in response to a single DB_ENV->rep_process_message call. [#5999]
 3. Add the DB_ENV->set_rep_stat interface, returning information from the replication subsystem [#5919]

XA Resource Manager Changes:

 1. Added support for multi-threaded XA. Environments can now have multiple XA transactions active. db_env_xa_attach() can be used to get a DB_TXN that corresponds to the XA transaction in the current thread. [#5049]
 2. Added a com.sleepycat.Berkeley DB.xa package that implements J2EE support for XA. This includes new DbXAResource, DbXid classes that implement the XAResource and Xid interfaces. [#5049]
 3. Fix a bug where aborting a prepared transaction after recovery may fail. [#6383]
 4. Fix a bug where recovery might fail if a prepared transaction had previously extended the size of a file and then was aborted. [#6387]
 5. Fix a bug where if the commit of a prepared transaction fails the transaction would be aborted. [#6389]

Locking Subsystem Changes:

 1. Fix a bug where lock counts were incorrect if a lock request returned DB_LOCK_NOTGRANTED or an error occurred. [#4923]
 2. Fix a bug where lock downgrades were counted as releases, so the lock release statistics could be wrong. [#5762]
 3. Fix a bug where the lock and transaction timeout values could not be reset by threads of control joining Berkeley DB database environments. [#5996]
 4. Fix a bug where applications using lock and/or transaction timeouts could hit a race condition that would lead to a segmentation fault. [#6061]

Logging Subsystem Changes:

 1. DB_ENV->log_register and DB_ENV->log_unregister have been removed from the interface. [#0046]
 2. Fix a bug where creating a database environment with a non-existent logging directory could drop core. [#5833]
 3. Add support allowing applications to change the log file size in existing database environments. [#4875]
 4. Fix a bug where a write error on a log record spanning a buffer could cause transaction abort to fail and the database environment to panic. [#5830]

Memory Pool Subsystem Changes:

 1. The DB_INCOMPLETE error has been removed, as cache flushing can no longer return without completing. [#4655]
 2. Fix a bug where Berkeley DB might refuse to open a file if the open was attempted while another thread was writing a large buffer. [#4885]
 3. Prefer clean buffers to dirty buffers when selecting a buffer for eviction. [#4934]
 4. Fix a bug where transaction checkpoint might miss flushing a buffer to disk. [#5033]
 5. Fix a bug where Berkeley DB applications could run out of file descriptors. [#5535]
 6. Fix bugs where Berkeley DB could self-deadlock on systems requiring mutex resource reclamation after application failure. [#5722] [#6523]

Transaction Subsystem Changes:

 1. Go back only one checkpoint, not two, when performing normal recovery. [#4284]
 2. Fix a bug where an abort of a transaction could fail if there was no disk space for the log. [#5740]
 3. Fix a bug where the checkpoint log-sequence-number could reference a non-existent log record. [#5789]
 4. Fix a bug where subtransactions which allocated pages from the filesystem and subsequently aborted could cause other pages allocated by sibling transactions to not be freed if the parent transaction then aborted. [#5903]
 5. Fix a bug where transactions doing multiple updates to a queue database which spanned a checkpoint could be improperly handled by recovery. [#5898]

Utility Changes:

 1. Fix a bug where the -p option could not be specified with the -R or -r options. [#5037]
 2. The utilities were modified to correctly size their private caches in order to handle databases with large page sizes. [#5055]
 3. Fix a bug in which utilities run with the -N option would fail to ignore the environment's panic flag. [#5082]
 4. Fix a bug where invalid log records could cause db_printlog to drop core. [#5173]
 5. Add a new option to the db_verify utility to support verification of files that include databases having non-standard sorting or hash functions. [#5237]

Configuration, Documentation, Portability and Build Changes:

 1. Replace test-and-set mutexes on Windows with a new mutex implementation that signals an event to wake blocked threads. [#4413]
 2. Support configuration of POSIX pthread mutexes on systems where the pthread mutexes do not support inter-process locks. [#4942]
 3. Add mutex support for the ARM architecture using the gcc compiler. [#5018]
 4. On Windows NT/2000/XP, switched to atomic seek-and-read/write operations to improve performance of concurrent reads [#0654].
 5. Support cross-compilation using the GNU compiler tool chain. [#4558]
 6. Fix a bug where libraries were always installed read-only. [#5096]
 7. Fix a bug where temporary files on VxWorks could fail. [#5160]
 8. Fix a bug where Berkeley DB did not install correctly if the system cp utility did not support the -f option. [#5111]
 9. Correct the documentation for the Queue access method statistics field qs_cur_recno to be the "Next available record number". [#5190]
10. Fix a bug where file rename could fail on Windows/9X. [#5223]
11. Removed support for Microsoft Visual Studio 5.0 [#5231]
12. Switched to using HANDLEs for all I/O operations on Windows to overcome a hard limit of 2048 open file descriptors in Microsoft's C runtime library. [#5249]
13. Fix a bug where Berkeley DB error message routines could drop core on the PowerPC and UltraSPARC architectures. [#5331]
14. Rename OSTREAMCLASS to __DB_OSTREAMCLASS in db_cxx.h to avoid stepping on application name space. [#5402]
15. Support Linux on the S/390 architecture. [#5608]
16. Work around a bug in Solaris where the pthread_cond_wait call could return because a signal was delivered to the application. [#5640]
17. Fix build line for loadable libraries to include -module to support Mac OS X. [#5664]
18. Fix a bug in the PPC mutex support for the Mac OS X system. [#5781]
19. Added support for Java on Mac OS X. A workaround on the Java command line is currently necessary; it is documented. [#5664]
20. Added support for Tcl on Mac OS X. [#5664]
21. Update Windows build instructions to cover Visual C++ .NET. [#5684]
22. AIX configuration changes for building on AIX 4.3.3 and 5 with both standard and Visual Age compilers. [#5779]
23. Add a new UNIX configuration argument, --with-mutex=MUTEX, to allow applications to select a mutex implementation. [#6040]
24. Changed libtool and configure so we can now correctly build and install Tcl and Java loadable shared libraries that work on Mac OS X. [#6117]
25. Fix mutex alignment problems on historic HP-UX releases that could make multi-process applications fail. [#6250]
26. Installed static .a archives on Mac OS X need to be built with the ranlib -c option so linked applications will not see undefined __db_jump errors. [#6215]
27. Upgrade pthread and mmap support in the uClibc library to support Berkeley DB. [#6268]
28. Fixed error in determining include directories during configuration for --enable-java. The error can cause compilation errors on certain systems with newer versions of gcc. [#6445]
2003-06-10 09:54:41 +00:00
grant
712c21283a s/USE_CXX/USE_GCC_SHLIB/ - there are more shared libraries than just
libstdc++ in gcc3.

when defined, USE_GCC_SHLIB ensures that the correct rpath is passed
to the linker, and a full dependency on the compiler package is
registered.

packages which define USE_GCC_SHLIB should not include
mk/gcc.buildlink2.mk (or gcc{,3}/buildlink2.mk) as it is handled
automatically.
2003-05-29 23:14:07 +00:00
jmmv
0916498c1b Place WRKSRC where it belongs, to make pkglint happy; ok'ed by wiz. 2003-03-29 12:40:00 +00:00
jlam
2c140f9f2a Mechanical conversion to use java-vm.mk. 2002-12-31 15:44:28 +00:00
jlam
0508bc597d buildlink1 -> buildlink2 2002-11-15 00:50:19 +00:00
wiz
3e7767d385 Add buildlink2.mk. 2002-09-11 15:25:13 +00:00
wiz
72b16d7419 Fix MASTER_SITES. 2002-09-11 15:25:00 +00:00
uebayasi
5a667bb687 Initial import of Sleepycat db4 provided by Alex Newman <dolemite@wuli.nu>
in pkg/16075.

From DESCR:

	Berkeley DB is an embeddable database system that supports keyed
	access to data. The software is distributed in source code form,
	and developers can compile and link the source code into a single
	library for inclusion directly in their applications.
2002-03-30 05:35:57 +00:00