TABLE OF CONTENTS


berkdb.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit [java] [tcl] berkdb

DESCRIPTION

The Berkeley DB is an embedded database in the form of a C library and several command-line utilities, and includes optional C++, Java, and Tcl bindings.

This cygclass does all the work involved in building and packaging versions 3.x, 4.x, and 5.x of the Berkeley DB. Older versions are not supported.

The C++ bindings are always enabled, but the Java and Tcl bindings will only be enabled if their respective cygclasses are inherited _before_ berkdb.

INHERITS

autotools.cygclass


CATEGORY (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Database Libs"

SUMMARY (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Berkeley DB version ${SLOT}"

DESCRIPTION (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

DESCRIPTION="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."

HOMEPAGE (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.oracle.com/technology/products/berkeley-db/db/index.html"

SRC_URI (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DESCRIPTION

Download location of the Berkeley DB source tarball.


PATCH_URI (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

NOTE

Upstream patches are automatically downloaded based on the fourth component of PV; e.g. version 4.6.21.4 will download patches 1-4 for the 4.6.21 tarball.

WARNING

If additional custom patches are required, be sure to add to, not override, the PATCH_URI variable as so:

    PATCH_URI+=" 4.6-libtool22.patch"

Failure to do so will result in upstream patches not being included in your package.


PKG_NAMES (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DESCRIPTION

The following binary packages are created automatically:

The following packages are created if their bindings are enabled:


berkdb_autoreconf

[ Top ] [ berkdb.cygclass ] [ Compile Functions ]

DESCRIPTION

This function is used instead of cygautoreconf due to the unique build system of the Berkeley DB. This step is required, as several build system files will need to be patched for a working build:

REQUIRES

autoconf, automake, libtool


berkdb_compile

[ Top ] [ berkdb.cygclass ] [ Compile Functions ]

DESCRIPTION

This function calls cygconf with the necessary options for building the the C library shared and static, and the C++, Java and/or Tcl bindings.

NOTE

The C++ library, JNI bindings, and Tcl bindings are specially built to link against the C library instead of including the sources thereof. This means that the java-dbX.Y and tcl-dbX.Y packages must depend on libdbX.Y.


berkdb_install

[ Top ] [ berkdb.cygclass ] [ Install Functions ]

DESCRIPTION

This function installs the Berkeley DB into $D and moves some files so that multiple versions may be installed in parallel.


berkdb_postinst

[ Top ] [ berkdb.cygclass ] [ Install Functions ]

DESCRIPTION

This function creates postinstall and preremove scripts which manage the unversioned symlinks for the headers and link libraries with alternatives(8). No such symlinks are created for the command-line utilities, as the database and/or log formats do change from one version to the next.

NOTE

All libdbX.Y-devel packages must depend on alternatives.


src_compile (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${S}/dist
        berkdb_autoreconf
        cd ${B}
        berkdb_compile
}

src_install (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        berkdb_install
        berkdb_postinst
}