BerkleyDB: Uprev db from 4.2 to 5.1.19

The latest version of Berkley DB (5.1.19) is required by RPM.  This version
is backwards compatible with the 4.2 version that was enabled previously.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
This commit is contained in:
Mark Hatle 2011-01-15 21:14:46 -06:00 committed by Richard Purdie
parent 156405e578
commit e77207ccdf
5 changed files with 63 additions and 168 deletions

View File

@ -1,36 +0,0 @@
--- db-4.3.29-dist/../dbinc/mutex.h 2005-11-15 07:33:27.761042518 -0800
+++ db-4.3.29-dist/../dbinc/mutex.h 2005-11-15 07:55:24.823920060 -0800
@@ -470,6 +470,25 @@
#ifdef LOAD_ACTUAL_MUTEX_CODE
#define MUTEX_SET_TEST 1 /* gcc/arm: 0 is clear, 1 is set. */
+#if defined __thumb__
+#define MUTEX_SET(tsl) ({ \
+ int __r, __p; \
+ asm volatile( \
+ ".align 2\n\t" \
+ "bx pc\n\t" \
+ "nop\n\t" \
+ ".arm\n\t" \
+ "swpb %0, %2, [%3]\n\t" \
+ "eor %0, %0, #1\n\t" \
+ "orr %1, pc, #1\n\t" \
+ "bx %1\n\t" \
+ ".force_thumb" \
+ : "=&r" (__r), "=r" (__p) \
+ : "r" (1), "r" (tsl) \
+ ); \
+ __r & 1; \
+})
+#else
#define MUTEX_SET(tsl) ({ \
int __r; \
asm volatile( \
@@ -480,6 +499,7 @@
); \
__r & 1; \
})
+#endif
#define MUTEX_UNSET(tsl) (*(volatile tsl_t *)(tsl) = 0)
#define MUTEX_INIT(tsl) MUTEX_UNSET(tsl)

View File

@ -0,0 +1,36 @@
--- db-5.1.19/../src/dbinc/mutex_int.h.orig 2011-01-05 19:21:42.181805366 -0600
+++ db-5.1.19/../src/dbinc/mutex_int.h 2011-01-05 19:24:53.141853117 -0600
@@ -474,6 +474,25 @@
#ifdef LOAD_ACTUAL_MUTEX_CODE
/* gcc/arm: 0 is clear, 1 is set. */
+#if defined __thumb__
+#define MUTEX_SET(tsl) ({ \
+ int __r, __p; \
+ __asm__ volatile( \
+ ".align 2\n\t" \
+ "bx pc\n\t" \
+ "nop\n\t" \
+ ".arm\n\t" \
+ "swpb %0, %2, [%3]\n\t" \
+ "eor %0, %0, #1\n\t" \
+ "orr %1, pc, #1\n\t" \
+ "bx %1\n\t" \
+ ".force_thumb" \
+ : "=&r" (__r), "=r" (__p) \
+ : "r" (1), "r" (tsl) \
+ ); \
+ __r & 1; \
+})
+#else
#define MUTEX_SET(tsl) ({ \
int __r; \
__asm__ volatile( \
@@ -484,6 +503,7 @@
); \
__r & 1; \
})
+#endif
#define MUTEX_UNSET(tsl) (*(volatile tsl_t *)(tsl) = 0)
#define MUTEX_INIT(tsl) (MUTEX_UNSET(tsl), 0)

View File

@ -1,18 +0,0 @@
If LD is a binary name + parameters db will fail to work out its GNU ld
and disable shared libraries. We don't want this.
RP - 22/11/2007
Index: dist/configure
===================================================================
--- dist.orig/configure 2007-11-23 00:47:27.000000000 +0000
+++ dist/configure 2007-11-23 00:53:22.000000000 +0000
@@ -5658,7 +5661,7 @@ if test "${lt_cv_prog_gnu_ld+set}" = set
echo $ECHO_N "(cached) $ECHO_C" >&6
else
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `"$LD" -v 2>&1 </dev/null` in
+case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
lt_cv_prog_gnu_ld=yes
;;

View File

@ -1,102 +0,0 @@
# Version 4 of the Berkeley DB from Sleepycat
#
# At present this package only installs the DB code
# itself (shared libraries, .a in the dev package),
# documentation and headers.
#
# The headers have the same names as those as v3
# of the DB, only one version can be used *for dev*
# at once - DB3 and DB4 can both be installed on the
# same system at the same time if really necessary.
SECTION = "libs"
DESCRIPTION = "Berkeley DB v4."
HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html"
LICENSE = "BSD Sleepycat"
VIRTUAL_NAME = "virtual/db"
VIRTUAL_NAME_virtclass-native = "virtual/db-native"
LIC_FILES_CHKSUM = "file://../LICENSE;md5=6b31228067ad1236eceaaaf187ad6d1e"
CONFLICTS = "db3"
CONFLICTS_virtclass-native = "db3-native"
PR = "r8"
SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz \
file://configure_fixes.patch;patch=1 "
SRC_URI[md5sum] = "8b5cff6eb83972afdd8e0b821703c33c"
SRC_URI[sha256sum] = "f4bddd8d1b4cde0daf5e13e3493ed62a25b736b0bf258e1d929e47bc6a82a28c"
#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5"
#TODO SRC_URI += "file://arm-thumb-mutex.patch;patch=1"
inherit autotools
# 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}/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
# management on the system.
PACKAGES += " ${PN}-bin"
# Package contents
FILES_${PN} = "${libdir}/libdb-4*so*"
FILES_${PN}-bin = "${bindir}/*"
# The dev package has the .so link (as in db3) and the .a's -
# it is therefore incompatible (cannot be installed at the
# same time) as the db3 package
FILES_${PN}-dev = "${includedir} ${libdir}/*"
#configuration - set in local.conf to override
DB4_CONFIG ?= " --disable-cryptography --disable-queue --disable-replication --disable-verify --enable-hash"
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:
# These enable the ARM assembler mutex code, this won't
# work with thumb compilation...
ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
MUTEX = ""
MUTEX_arm = "${ARM_MUTEX}"
MUTEX_armeb = "${ARM_MUTEX}"
EXTRA_OECONF += "${MUTEX}"
ARM_INSTRUCTION_SET = "arm"
# Cancel the site stuff - it's set for db3 and destroys the
# configure.
CONFIG_SITE = ""
do_configure() {
rm -f ${S}/config.sub
cp ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/config.sub
oe_runconf
}
do_install_append() {
# The docs end up in /usr/docs - not right.
if test -d "${D}/${prefix}/docs"
then
mkdir -p "${D}/${datadir}"
test ! -d "${D}/${docdir}" || rm -rf "${D}/${docdir}"
mv "${D}/${prefix}/docs" "${D}/${docdir}"
fi
}
# The db package contains symlinks that trip up insane
INSANE_SKIP_db = "1"
BBCLASSEXTEND = "native nativesdk"

View File

@ -1,7 +1,4 @@
# Has issues with eds
DEFAULT_PREFERENCE = "-1"
# Version 4 of the Berkeley DB from Sleepycat
# Version 5 of the Berkeley DB from Sleepycat
#
# At present this package only installs the DB code
# itself (shared libraries, .a in the dev package),
@ -9,19 +6,24 @@ DEFAULT_PREFERENCE = "-1"
#
# The headers have the same names as those as v3
# of the DB, only one version can be used *for dev*
# at once - DB3 and DB4 can both be installed on the
# at once - DB3 and DB5 can both be installed on the
# same system at the same time if really necessary.
SECTION = "libs"
DESCRIPTION = "Berkeley DB v4."
DESCRIPTION = "Berkeley DB v5."
HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html"
LICENSE = "BSD Sleepycat"
VIRTUAL_NAME ?= "virtual/db"
CONFLICTS = "db3"
PR = "r8"
PR = "r1"
SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz"
#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5"
SRC_URI += "file://arm-thumb-mutex.patch;patch=1"
SRC_URI += "file://arm-thumb-mutex_db5.patch;patch=1"
SRC_URI[md5sum] = "76fcbfeebfcd09ba0b4d96bfdf8d884d"
SRC_URI[sha256sum] = "0194d4ca9266ba1a1c0bfbc233b18bfd05f63163453c81ebcdfdc7112d5ac850"
LIC_FILES_CHKSUM = "file://../LICENSE;md5=86f9294f39f38ef9e89690bcd2320e7a"
inherit autotools
@ -47,7 +49,7 @@ B = "${WORKDIR}/db-${PV}/build_unix"
PACKAGES += " ${PN}-bin"
# Package contents
FILES_${PN} = "${libdir}/libdb-4*so*"
FILES_${PN} = "${libdir}/libdb-5*so*"
FILES_${PN}-bin = "${bindir}/*"
# The dev package has the .so link (as in db3) and the .a's -
# it is therefore incompatible (cannot be installed at the
@ -56,9 +58,9 @@ FILES_${PN}-dev = "${includedir} ${libdir}/*"
#configuration - set in local.conf to override
# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix)
DB4_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-statistics --disable-verify --enable-compat185"
DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-statistics --disable-verify --disable-compat185 --disable-sql"
EXTRA_OECONF = "${DB4_CONFIG}"
EXTRA_OECONF = "${DB5_CONFIG}"
# Override the MUTEX setting here, the POSIX library is
# the default - "POSIX/pthreads/library".
@ -79,11 +81,24 @@ do_configure() {
}
do_install_append() {
mkdir -p ${D}/${includedir}/db51
#mv ${D}/${includedir}/db_185.h ${D}/${includedir}/db51/.
mv ${D}/${includedir}/db.h ${D}/${includedir}/db51/.
mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db51/.
#mv ${D}/${includedir}/dbsql.h ${D}/${includedir}/db51/.
#ln -s db51/db_185.h ${D}/${includedir}/db_185.h
ln -s db51/db.h ${D}/${includedir}/db.h
ln -s db51/db_cxx.h ${D}/${includedir}/db_cxx.h
#ln -s db51/dbsql.h ${D}/${includedir}/dbsql.h
# The docs end up in /usr/docs - not right.
if test -d "${D}/${prefix}/docs"
then
mkdir -p "${D}/${datadir}"
test ! -d "${D}/${docdir}" || rmdir "${D}/${docdir}"
test ! -d "${D}/${docdir}" || rm -rf "${D}/${docdir}"
mv "${D}/${prefix}/docs" "${D}/${docdir}"
fi
}
BBCLASSEXTEND = "native nativesdk"