summaryrefslogtreecommitdiff
path: root/packages/db
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2005-11-11 07:15:36 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-11-11 07:15:36 +0000
commit1c60e3ea33243897f1159d617a0bf0fb9e5916f3 (patch)
tree9c07ba79b1bd4132216ca513c55faf5df5a74c66 /packages/db
parent82111b6f46d1afcb5d480fceaabc6822403e1867 (diff)
db: fix db3/db4 confusion by causing all packages to use virtual/db in db-4.3 4.3.29
- The SleepyCat implementation of the Berkeley DB exists in OE in two different - versions, 3.2 and 4.3. These appear to now be compatible (i.e. with the correct - settings db-4.3 can do everything db-3.2 can do and all packages compile with it). - The previous scheme of allowing both to be built (which was highly error prone) - has been removed and all db users now reference virtual/db. - Affects: - bogofilter, cyrus-*, openldap, perl, postfix, rpm
Diffstat (limited to 'packages/db')
-rw-r--r--packages/db/db-native_4.3.29.bb13
-rw-r--r--packages/db/db3-native_3.2.9.bb2
-rw-r--r--packages/db/db3_3.2.9.bb9
-rw-r--r--packages/db/db_4.3.29.bb (renamed from packages/db/db_4.3.27.bb)47
4 files changed, 48 insertions, 23 deletions
diff --git a/packages/db/db-native_4.3.29.bb b/packages/db/db-native_4.3.29.bb
new file mode 100644
index 0000000000..5aaeb4329e
--- /dev/null
+++ b/packages/db/db-native_4.3.29.bb
@@ -0,0 +1,13 @@
+# This wrapper builds a native version of the SleepyCat
+# Berkeley DB for those packages which need it (e.g.
+# perl).
+SECTION = "libs"
+VIRTUAL_NAME = "virtual/db-native"
+CONFLICTS = "db3-native"
+#PR tracks the non-native package
+
+inherit native
+
+include db_${PV}.bb
+
+PACKAGES = ""
diff --git a/packages/db/db3-native_3.2.9.bb b/packages/db/db3-native_3.2.9.bb
index 13c6063669..44a8a5b605 100644
--- a/packages/db/db3-native_3.2.9.bb
+++ b/packages/db/db3-native_3.2.9.bb
@@ -1,4 +1,6 @@
SECTION = "libs"
+VIRTUAL_NAME = "virtual/db-native"
+CONFLICTS = "db-native"
inherit native
include db3_${PV}.bb
diff --git a/packages/db/db3_3.2.9.bb b/packages/db/db3_3.2.9.bb
index 4c78279745..335d83c173 100644
--- a/packages/db/db3_3.2.9.bb
+++ b/packages/db/db3_3.2.9.bb
@@ -2,7 +2,14 @@ SECTION = "libs"
DESCRIPTION = "Berkeley DB v3."
HOMEPAGE = "http://www.sleepycat.com"
LICENSE = "BSD Sleepycat"
-PR = "r1"
+PR = "r2"
+VIRTUAL_NAME ?= "virtual/db"
+CONFLICTS = "db"
+
+# it doesn't make any sense to have multiple relational
+# databases on an embedded machine, virtual/db allows
+# a build to select the desired one.
+PROVIDES += "${VIRTUAL_NAME}"
SRC_URI = "ftp://sleepycat1.inetu.net/releases/db-${PV}.tar.gz \
file://autofoo.patch;patch=1"
diff --git a/packages/db/db_4.3.27.bb b/packages/db/db_4.3.29.bb
index 518fddee9f..ba11e12901 100644
--- a/packages/db/db_4.3.27.bb
+++ b/packages/db/db_4.3.29.bb
@@ -12,23 +12,30 @@ SECTION = "libs"
DESCRIPTION = "Berkeley DB v4."
HOMEPAGE = "http://www.sleepycat.com"
LICENSE = "BSD Sleepycat"
-PR = "r1"
+VIRTUAL_NAME ?= "virtual/db"
+CONFLICTS = "db3"
+PR = "r0"
-SRC_URI = "http://downloads.sleepycat.com/${P}.tar.gz"
+SRC_URI = "http://downloads.sleepycat.com/db-${PV}.tar.gz"
+#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5"
inherit autotools
-# At present virtual/db is only in the db4 file, but it
-# should probably be in the other candidates (db3, gdbm)
-# because it doesn't make any sense to have multiple
-# relational databases on an embedded machine...
-PROVIDES += " db4 virtual/db"
+# Put virtual/db in any appropriate provider of a
+# relational database, use it as a dependency in
+# place of a specific db and use:
+#
+# PREFERRED_PROVIDER_virtual/db
+#
+# to select the correct db in the build (distro) .conf
+PROVIDES += "${VIRTUAL_NAME}"
# bitbake isn't quite clever enough to deal with sleepycat,
# the distribution sits in the expected directory, but all
# the builds must occur from a sub-directory. The following
# persuades bitbake to go to the right place
-S = "${WORKDIR}/${P}/build_unix"
+S = "${WORKDIR}/db-${PV}/dist"
+B = "${WORKDIR}/db-${PV}/build_unix"
# The executables go in a separate package - typically there
# is no need to install these unless doing real database
@@ -44,43 +51,39 @@ FILES_${PN}-bin = "${bindir}"
FILES_${PN}-dev = "${includedir} ${libdir}"
#configuration - set in local.conf to override
-DB4_CONFIG ?= "--enable-o_direct --enable-smallbuild"
+DB4_CONFIG ?= "--enable-o_direct --enable-smallbuild --enable-compat185"
+EXTRA_OECONF = "${DB4_CONFIG}"
+
# Override the MUTEX setting here, the POSIX library is
# the default - "POSIX/pthreads/library".
# Don't ignore the nice SWP instruction on the ARM:
-EXTRA_OECONF = "${DB4_CONFIG}"
# These enable the ARM assembler mutex code, this won't
# work with thumb compilation...
ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
ARM_MUTEX_thumb = ""
-# NOTE: only tested on nslu2, should probably be _armeb
-EXTRA_OECONF_nslu2 = "${DB4_CONFIG} ${ARM_MUTEX}"
+MUTEX = ""
+MUTEX_arm = "${ARM_MUTEX}"
+MUTEX_armeb = "${ARM_MUTEX}"
+EXTRA_OECONF += "${MUTEX}"
# Cancel the site stuff - it's set for db3 and destroys the
# configure.
CONFIG_SITE = ""
do_configure() {
- echo '#!/bin/sh' >${S}/configure
- echo 'rm ${S}/configure' >>${S}/configure
- echo 'exec ../dist/configure "$@"' >>${S}/configure
- chmod a+x ${S}/configure
oe_runconf
}
do_stage() {
# The .h files get installed read-only, the autostage
# function just uses cp -pPR, so do this by hand
- # Install, for the moment, into include/db4 to avoid
- # interfering with the db3 headers (which have the same
- # name). -I${STAGING_INCDIR}/db4 to use db4, as opposed
- # to db3.
rm -rf ${STAGE_TEMP}
mkdir -p ${STAGE_TEMP}
oe_runmake DESTDIR="${STAGE_TEMP}" install_include
- mkdir -p ${STAGING_INCDIR}/db4
- cp -pPRf ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}/db4
+ cp -pPRf ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}/.
rm -rf ${STAGE_TEMP}
oe_libinstall -so -C .libs libdb-4.3 ${STAGING_LIBDIR}
+ ln -sf libdb-4.3.so ${STAGING_LIBDIR}/libdb.so
+ ln -sf libdb-4.3.a ${STAGING_LIBDIR}/libdb.a
}
do_install_append() {