pkgsrc/databases/db4/Makefile

52 lines
1.6 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.61 2011/08/31 21:30:40 tron Exp $
#
# NOTE:
# When updating this package, a change in the minor (4.n -> 4.(n+1))
# usually incurs a shlib name change. Please make sure to update the
# ABI depends in buildlink3.mk and bump PKGREVISIONs for all dependencies.
# In particular, take care to include BDB_ACCEPTED=db4 packages.
DISTNAME= db-4.8.30
PKGNAME= ${DISTNAME:S/db/db4/}
CATEGORIES= databases
MASTER_SITES= http://download.oracle.com/berkeley-db/ \
http://download-uk.oracle.com/berkeley-db/
#PATCHFILES= patch.4.8.30.1
#PATCH_SITES= http://www.oracle.com/technology/products/berkeley-db/db/update/4.8.30/
Update to 4.7.25.1: Berkeley DB 4.7.25 Change Log Database or Log File On-Disk Format Changes: 1. The log file format changed in 4.7. New Features: 1. The lock manager may now be fully partitioned, improving performance on some multi-CPU systems. [#15880] 2. Replication groups are now architecture-neutral, supporting connections between differing architectures (big-endian or little-endian, independent of structure padding). [#15787] [#15840] 3. Java: A new Direct Persistence Layer adds a built-in Plain Old Java Object (POJO)-based persistent object model, which provides support for complex object models without compromises in performance. For an introduction to the Direct Persistence Layer API, see Getting Started with Data Storage. [#15936] 4. Add the DB_ENV->set_intermediate_dir_mode method to support the creation of intermediate directories needed during recovery. [#15097] 5. The DB_ENV->failchk method can now abort transactions for threads, which have failed while blocked on a concurrency lock. This significantly decreases the need for database environment recovery after thread of control failure. [#15626] 6. Replication Manager clients now can be configured to monitor the connection to the master using heartbeat messages, in order to promptly discover connection failures. [#15714] 7. The logging system may now be configured to pre-zero log files when they are created, improving performance on some systems. [#15758] Database Environment Changes: 1. Restructure aborted page allocation handling on systems without an ftruncate system call. This enables the Berkeley DB High Availability product on systems, which do not support ftruncate. [#15602] 2. Fix a bug where closing a database handle after aborting a transaction which included a failed open of that handle could result in application failure. [#15650] 3. Fix minor memory leaks when closing a private database environment. [#15663] 4. Fix a bug leading to a panic of "unpinned page returned" if a cursor was used for a delete multiple times and deadlocked during one of the deletes. [#15944] 5. Optionally signal processes still running in the environment before running recovery. [#15984] Concurrent Data Store Changes: None. General Access Method Changes: 1. Fix a bug where closing a database handle after aborting a transaction which included a failed open of that database handle could result in application failure. [#15650] 2. Fix a bug that could cause panic in a database environment configured with POSIX-style thread locking, if a database open failed. [#15662] 3. Fix bug in the DB->compact method which could cause a panic if a thread was about to release a page while another thread was truncating the database file. [#15671] 4. Fix an obscure case of interaction between a cursor scan and delete that was prematurely returning DB_NOTFOUND. [#15785] 5. Fix a bug in the DB->compact method where if read-uncommitted was configured, a reader reading uncommitted data my see an inconsistent entry between when the compact method detects an error and when it aborts the enclosing transaction. [#15856] 6. Fix a bug in the DB->compact method where a thread of control mail fail if two threads are compacting the same section of a Recno database. [#15856] 7. Fix a bug in DB->compact method, avoid an assertion failure when zero pages can be freed. [#15965] 8. Fix a bug return a non-zero error when DB->truncate is called with open cursors. [#15973] 9. Fix a bug add HANDLE_DEAD checking for DB cursors. [#15990] 10. Fix a bug to now generate errors when DB_SEQUENCE->stat is called without first opening the sequence. [#15995] 11. Fix a bug to no longer dereference a pointer into a hash structure, when hash functionality is disabled. [#16095] Btree Access Method Changes: None. Hash Access Method Changes: 1. Fix a bug where a database store into a Hash database could self-deadlock in a database environment configured for the Berkeley DB Concurrent Data Store product, and with a free-threaded DB_ENV or DB handle. [#15718] Queue Access Method Changes: 1. Fix a bug that could cause a put or delete of a queue element to return a DB_NOTGRANTED error, if blocked. [#15933] Recno Access Method Changes: 1. Expose db_env_set_func_malloc, db_env_set_func_realloc, and db_env_set_func_free through the Windows API for the DB dll. [#16045] C-specific API Changes: None. Java-specific API Changes: 1. Fix a bug where enabling MVCC on a database through the Java API was ignored. [#15644] 2. Fixed memory leak bugs in error message buffering in the Java API. [#15843] 3. Fix a bug where Java SecondaryConfig was not setting SecondaryMultiKeyCreator from the underlying db handle [OTN FORUM} 4. Fix a bug so that getStartupComplete will now return a boolean instead of an int. [#16067] 5. Fix a bug in the Java API, where Berkeley DB would hang on exit when using replication. [#16142] Direct Persistence Layer (DPL), Bindings and Collections API: 1. A new Direct Persistence Layer adds a built-in Plain Old Java Object (POJO)-based persistent object model, which provides support for complex object models without compromises in performance. For an introduction to the Direct Persistence Layer API, see Getting Started with Data Storage. [#15936] 2. Fixed a bug in the remove method of the Iterator instances returned by the StoredCollection.iterator method in the collections package. This bug caused ArrayIndexOutOfBoundsException in some cases when calling next, previous, hasNext or hasPrevious after calling remove. (Note that this issue does not apply to StoredIterator instances returned by the StoredCollection.storedIterator method.) This bug was reported in this forum thread: http://forums.oracle.com/forums/thread.jspa?messageID=2187896 [#15858] 3. Fixed a bug in the remove method of the StoredIterator instances returned by StoredCollection.storedIterator method in the collections package. If the sequence of methods next-remove-previous was called, previous would sometimes return the removed record. If the sequence of methods previous-remove-next was called, next would sometimes return the removed record. (Note that this issue does not apply to Iterator instances returned by the StoredCollection.iterator method.) [#15909] 4. Fixed a bug that causes a memory leak for applications where many Environment objects are opened and closed and the CurrentTransaction or TransactionRunner class is used. The problem was reported in this JE Forum thread: http://forums.oracle.com/forums/thread.jspa?messageID=1782659 [#15444] 5. Added StoredContainer.areKeyRangesAllowed method. Key ranges and the methods in SortedMap and SortedSet such as subMap and subSet are now explicitly disallowed for RECNO and QUEUE databases -- they are only supported for BTREE databases. Before, using key ranges in a RECNO or QUEUE database did not work, but was not explicitly prohibited in the Collections API. [#15936] Tcl-specific API Changes: 1. The Berkeley DB Tcl API does not attempt to avoid evaluating input as Tcl commands. For this reason, it may be dangerous to pass unreviewed user input through the Berkeley DB Tcl API, as the input may subsequently be evaluated as a Tcl command. To minimize the effectiveness of a Tcl injection attack, the Berkeley DB Tcl API in the 4.7 release routine resets process' effective user and group IDs to the real user and group IDs. [#15597] RPC-specific Client/Server Changes: None. Replication Changes: 1. Fix a bug where a master failure resulted in multiple attempts to perform a "fast election"; subsequent elections, when necessary, now use the normal nsites value. [#15099] 2. Replication performance enhancements to speed up failover. [#15490] 3. Fix a bug where replication could self-block in a database environment configured for in-memory logging. [#15503] 4. Fix a bug where replication would attempt to read log file version numbers in a database configured for in-memory logging. [#15503] 5. Fix a bug where log files were not removed during client initialization in a database configured for in-memory logging. [#15503] 6. The 4.7 release no longer supports live replication upgrade from the 4.2 or 4.3 releases, only from the 4.4 and later releases. [#15602] 7. Fix a bug where replication could re-request missing records on every arriving record. [#15629] 8. Change the DB_ENV->rep_set_request method to use time, not the number of messages, when re-requesting missed messages on a replication client. [#15629] 9. Fix a minor memory leak on the master when updating a client during internal initialization. [#15634] 10. Fix a bug where a client error when syncing with a new replication group master could result in an inability to ever re-join the group. [#15648] 11. Change dbenv->rep_set_request to use time-based values instead of counters. [#15682] 12. Fix a bug where a LOCK_NOTGRANTED error could be returned from the DB_ENV->rep_process_message method, instead of being handled internally by replication. [#15685] 13. Fix a bug where the Replication Manager would reject a fresh connection from a remote site that had crashed and restarted, displaying the message: "redundant incoming connection will be ignored". [#15731] 14. The Replication Manager now supports dynamic negotiation of the best available wire protocol version, on a per-connection basis. [#15783] 15. Fix a bug, which could lead to slow performance of internal initialization under the Replication Manager, as evidenced by "queue limit exceeded" messages in verbose replication diagnostic output. [#15788] 16. Fix a bug where replication control message were not portable between replication clients with different endian architectures. [#15793] 17. Add a configuration option to turn off Replication Manager's special handling of elections in 2-site groups. [#15873] 18. Fix a bug making it impossible to call replicationManagerAddRemoteSite in the Java API after having called replicationManagerStart. [#15875] 19. Fix a bug where the DB_EVENT_REP_STARTUPDONE event could be triggered too early. [#15887] 20. Fix a bug where the rcvd_ts timestamp is reset when the user just changes the threshold. [#15895] 21. Fix a bug where the master in a 2-site replication group might wait for client acknowledgement, even when there was no client connected. [#15927] 22. Fix a bug, clean up and restart internal init if master log is gone. [#16006] 23. Fix a bug, ignore page messages that are from an old internal init. [#16075] [#16059] 24. Fix a bug where checkpoint records do not indicate a database was a named in-memory database. [#16076] 25. Fix a bug with in-memory replication, where we returned with the log region mutex held in an error path, leading to self-deadlock. [#16088] 26. Fix a bug which causes the DB_REP_CHECKPOINT_DELAY setting in rep_set_timeout() to be interpreted in seconds, rather than microseconds. [#16153] XA Resource Manager Changes: 1. Fix a bug where the DB_ENV->failchk method and replication in general could fail in database environments configured for XA. [#15654] Locking Subsystem Changes: 1. Fix a bug causing a lock or transaction timeout to not be set properly after the first timeout triggers on a particular lock id. [#15847] 2. Fix a bug that would cause a trap if DB_ENV->lock_id_free was passed an invalid locker id. [#16005] 3. Fix a bug when thread tracking is enabled where an attempt is made to release a mutex that is not lock. [#16011] Logging Subsystem Changes: 1. Fix a bug, handle zero-length log records doing HA sync with in-memory logs. [#15838] 2. Fix a bug that could cause DB_ENV->failcheck to leak log region memory. [#15925] 3. Fix a bug where the abort of a transaction that opened a database could leak log region memory. [#15953] 4. Fix a bug that could leak memory in the DB_ENV->log_archive interface if a log file was not found. [#16013] Memory Pool Subsystem Changes: 1. Fix multiple MVCC bugs including a race, which could result in incorrect data being returned to the application. [#15653] 2. Fixed a bug that left an active file in the buffer pool after a database create was aborted. [#15918] 3. Fix a bug where there could be uneven distribution of pages if a single database and multiple cache regions are configured. [#16015] 4. Fix a bug where DB_MPOOLFILE->set_maxsize was dropping the wrong mutex after open. [#16050] Mutex Subsystem Changes: 1. Fix a bug where mutex contention in database environments configured for hybrid mutex support could result in performance degradation. [#15646] 2. Set the DB_MUTEX_PROCESS_ONLY flag on all mutexes in private environments, they can't be shared and so we can use the faster, intra-process only mutex implementations [#16025] 3. Fix a bug so that mutexes are now removed from the environment signature if mutexes are disabled. [#16042] Transaction Subsystem Changes: 1. Fix a bug that could cause a checkpoint to selfblock attempting to flush a file, when the file handle was closed by another thread during the flush. [#15692] 2. Fix a bug that could cause DB_ENV->failcheck to hang if there were pending prepared transactions in the environment. [#15925] 3. Prepared transactions will now use the sync setting from the environment. Default to flushing the log on commit (was nosync). [#15995] 4. If __txn_getactive fails, we now return with the log region mutex held. This is not a bus since __txn_getactive cannot really fail. [#16088] Utility Changes: 1. Update db_stat with -x option for mutex stats 2. Fix an incorrect assumption about buffer size when getting an overflow page in db_verify. [#16064] Configuration, Documentation, Sample Application, Portability and Build Changes: 1. Fix an installation bug where the Berkeley DB PHP header file was not installed in the correct place. 2. Merge the run-time configuration sleep and yield functions. [#15037] 3. Fix Handle_DEAD and other expected replication errors in the C++ sample application ReqQuoteExample.cpp. [15568] 4. Add support for monotonic timers. [#15670] 5. Fix bugs where applications using the db_env_func_map and db_env_func_unmap run-time configuration functions could not join existing database environments, or open multiple DB_ENV handles for a single environment. [#15930] 6. Add documentation about building Berkeley DB for VxWorks 6.x. 7. Remove the HAVE_FINE_GRAINED_LOCK_MANAGER flag, it is obsolete in 4.7. 8. Fix a bug in ex_rep, add a missing break which could cause a segment fault. 9. Fix build warnings from 64 bit Windows build. [#16029] 10. Fix an alignment bug on ARM Linux. Force the assignment to use memcpy. [#16125] 11. Fix a bug in the Windows specific code of ex_sequence.c, where there was an invalide printf specifier. [#16131] 12. Improve the timer in ex_tpcb to use high resolution timers. [#16154] 13. Mention in the documentation that env->open() requires DB_THREAD to be specified when using repmgr. [#16163] 14. Disable support for mmap on Windows CE. The only affect is that we do not attempt to mmap small read only databases into the mpool. [#16169]
2008-09-06 22:53:51 +02:00
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.oracle.com/database/berkeley-db/db/index.html
COMMENT= Berkeley DB version 4 from Oracle
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 11:54:41 +02:00
2004-01-05 21:48:01 +01:00
PKG_INSTALLATION_TYPES= overwrite pkgviews
2006-11-05 18:42:30 +01:00
PKG_DESTDIR_SUPPORT= user-destdir
2004-01-05 21:48:01 +01:00
2004-02-02 14:02:49 +01:00
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= pax
GNU_CONFIGURE= yes
CONFIGURE_DIRS= build_unix
CONFIGURE_SCRIPT= ../dist/configure
CONFIGURE_ARGS+= --enable-compat185
CONFIGURE_ARGS+= --enable-cxx
CONFIGURE_ARGS+= --includedir=${PREFIX}/include/db4
CONFIGURE_ARGS+= --program-transform-name=s,db_,db4_,
OPSYSVARS+= LIBSO_LIBS
LIBSO_LIBS.SunOS+= -lnsl -lrt
CONFIGURE_ENV+= LIBSO_LIBS=${LIBSO_LIBS:Q}
# 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.
PTHREAD_OPTS+= native
.include "../../mk/pthread.buildlink3.mk"
2006-11-05 18:42:30 +01:00
INSTALLATION_DIRS= include/db4 lib share/doc/db4
post-install:
2006-11-05 18:42:30 +01:00
chown -R ${DOCOWN}:${DOCGRP} ${DESTDIR}${PREFIX}/share/doc/db4
.include "../../mk/bsd.pkg.mk"