summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2011-01-15 21:14:46 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-27 21:53:24 +0000
commite77207ccdf15f34651a086099ed4816712e3656b (patch)
tree985194b5787bc01a278c1a68e8c347a03e5d609e
parent156405e57871d2339c99fc9b0ef58f0ee9b24e2e (diff)
downloadpoky-e77207ccdf15f34651a086099ed4816712e3656b.tar.gz
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>
-rw-r--r--meta/recipes-support/db/db/arm-thumb-mutex.patch36
-rw-r--r--meta/recipes-support/db/db/arm-thumb-mutex_db5.patch36
-rw-r--r--meta/recipes-support/db/db/configure_fixes.patch18
-rw-r--r--meta/recipes-support/db/db_4.2.52.bb102
-rw-r--r--meta/recipes-support/db/db_5.1.19.bb (renamed from meta/recipes-support/db/db_4.3.29.bb)39
5 files changed, 63 insertions, 168 deletions
diff --git a/meta/recipes-support/db/db/arm-thumb-mutex.patch b/meta/recipes-support/db/db/arm-thumb-mutex.patch
deleted file mode 100644
index acd446fcd8..0000000000
--- a/meta/recipes-support/db/db/arm-thumb-mutex.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1--- db-4.3.29-dist/../dbinc/mutex.h 2005-11-15 07:33:27.761042518 -0800
2+++ db-4.3.29-dist/../dbinc/mutex.h 2005-11-15 07:55:24.823920060 -0800
3@@ -470,6 +470,25 @@
4 #ifdef LOAD_ACTUAL_MUTEX_CODE
5 #define MUTEX_SET_TEST 1 /* gcc/arm: 0 is clear, 1 is set. */
6
7+#if defined __thumb__
8+#define MUTEX_SET(tsl) ({ \
9+ int __r, __p; \
10+ asm volatile( \
11+ ".align 2\n\t" \
12+ "bx pc\n\t" \
13+ "nop\n\t" \
14+ ".arm\n\t" \
15+ "swpb %0, %2, [%3]\n\t" \
16+ "eor %0, %0, #1\n\t" \
17+ "orr %1, pc, #1\n\t" \
18+ "bx %1\n\t" \
19+ ".force_thumb" \
20+ : "=&r" (__r), "=r" (__p) \
21+ : "r" (1), "r" (tsl) \
22+ ); \
23+ __r & 1; \
24+})
25+#else
26 #define MUTEX_SET(tsl) ({ \
27 int __r; \
28 asm volatile( \
29@@ -480,6 +499,7 @@
30 ); \
31 __r & 1; \
32 })
33+#endif
34
35 #define MUTEX_UNSET(tsl) (*(volatile tsl_t *)(tsl) = 0)
36 #define MUTEX_INIT(tsl) MUTEX_UNSET(tsl)
diff --git a/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch b/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
new file mode 100644
index 0000000000..37d0d93abd
--- /dev/null
+++ b/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
@@ -0,0 +1,36 @@
1--- db-5.1.19/../src/dbinc/mutex_int.h.orig 2011-01-05 19:21:42.181805366 -0600
2+++ db-5.1.19/../src/dbinc/mutex_int.h 2011-01-05 19:24:53.141853117 -0600
3@@ -474,6 +474,25 @@
4
5 #ifdef LOAD_ACTUAL_MUTEX_CODE
6 /* gcc/arm: 0 is clear, 1 is set. */
7+#if defined __thumb__
8+#define MUTEX_SET(tsl) ({ \
9+ int __r, __p; \
10+ __asm__ volatile( \
11+ ".align 2\n\t" \
12+ "bx pc\n\t" \
13+ "nop\n\t" \
14+ ".arm\n\t" \
15+ "swpb %0, %2, [%3]\n\t" \
16+ "eor %0, %0, #1\n\t" \
17+ "orr %1, pc, #1\n\t" \
18+ "bx %1\n\t" \
19+ ".force_thumb" \
20+ : "=&r" (__r), "=r" (__p) \
21+ : "r" (1), "r" (tsl) \
22+ ); \
23+ __r & 1; \
24+})
25+#else
26 #define MUTEX_SET(tsl) ({ \
27 int __r; \
28 __asm__ volatile( \
29@@ -484,6 +503,7 @@
30 ); \
31 __r & 1; \
32 })
33+#endif
34
35 #define MUTEX_UNSET(tsl) (*(volatile tsl_t *)(tsl) = 0)
36 #define MUTEX_INIT(tsl) (MUTEX_UNSET(tsl), 0)
diff --git a/meta/recipes-support/db/db/configure_fixes.patch b/meta/recipes-support/db/db/configure_fixes.patch
deleted file mode 100644
index 80aa0e7c1c..0000000000
--- a/meta/recipes-support/db/db/configure_fixes.patch
+++ /dev/null
@@ -1,18 +0,0 @@
1If LD is a binary name + parameters db will fail to work out its GNU ld
2and disable shared libraries. We don't want this.
3
4RP - 22/11/2007
5
6Index: dist/configure
7===================================================================
8--- dist.orig/configure 2007-11-23 00:47:27.000000000 +0000
9+++ dist/configure 2007-11-23 00:53:22.000000000 +0000
10@@ -5658,7 +5661,7 @@ if test "${lt_cv_prog_gnu_ld+set}" = set
11 echo $ECHO_N "(cached) $ECHO_C" >&6
12 else
13 # I'd rather use --version here, but apparently some GNU ld's only accept -v.
14-case `"$LD" -v 2>&1 </dev/null` in
15+case `$LD -v 2>&1 </dev/null` in
16 *GNU* | *'with BFD'*)
17 lt_cv_prog_gnu_ld=yes
18 ;;
diff --git a/meta/recipes-support/db/db_4.2.52.bb b/meta/recipes-support/db/db_4.2.52.bb
deleted file mode 100644
index 1181bb05f9..0000000000
--- a/meta/recipes-support/db/db_4.2.52.bb
+++ /dev/null
@@ -1,102 +0,0 @@
1# Version 4 of the Berkeley DB from Sleepycat
2#
3# At present this package only installs the DB code
4# itself (shared libraries, .a in the dev package),
5# documentation and headers.
6#
7# The headers have the same names as those as v3
8# of the DB, only one version can be used *for dev*
9# at once - DB3 and DB4 can both be installed on the
10# same system at the same time if really necessary.
11SECTION = "libs"
12DESCRIPTION = "Berkeley DB v4."
13HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html"
14LICENSE = "BSD Sleepycat"
15VIRTUAL_NAME = "virtual/db"
16VIRTUAL_NAME_virtclass-native = "virtual/db-native"
17
18LIC_FILES_CHKSUM = "file://../LICENSE;md5=6b31228067ad1236eceaaaf187ad6d1e"
19
20CONFLICTS = "db3"
21CONFLICTS_virtclass-native = "db3-native"
22PR = "r8"
23
24SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz \
25 file://configure_fixes.patch;patch=1 "
26
27SRC_URI[md5sum] = "8b5cff6eb83972afdd8e0b821703c33c"
28SRC_URI[sha256sum] = "f4bddd8d1b4cde0daf5e13e3493ed62a25b736b0bf258e1d929e47bc6a82a28c"
29#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5"
30#TODO SRC_URI += "file://arm-thumb-mutex.patch;patch=1"
31
32inherit autotools
33
34# Put virtual/db in any appropriate provider of a
35# relational database, use it as a dependency in
36# place of a specific db and use:
37#
38# PREFERRED_PROVIDER_virtual/db
39#
40# to select the correct db in the build (distro) .conf
41PROVIDES += "${VIRTUAL_NAME}"
42
43# bitbake isn't quite clever enough to deal with sleepycat,
44# the distribution sits in the expected directory, but all
45# the builds must occur from a sub-directory. The following
46# persuades bitbake to go to the right place
47S = "${WORKDIR}/db-${PV}/dist"
48B = "${WORKDIR}/db-${PV}/build_unix"
49
50# The executables go in a separate package - typically there
51# is no need to install these unless doing real database
52# management on the system.
53PACKAGES += " ${PN}-bin"
54
55# Package contents
56FILES_${PN} = "${libdir}/libdb-4*so*"
57FILES_${PN}-bin = "${bindir}/*"
58# The dev package has the .so link (as in db3) and the .a's -
59# it is therefore incompatible (cannot be installed at the
60# same time) as the db3 package
61FILES_${PN}-dev = "${includedir} ${libdir}/*"
62
63#configuration - set in local.conf to override
64DB4_CONFIG ?= " --disable-cryptography --disable-queue --disable-replication --disable-verify --enable-hash"
65EXTRA_OECONF = "${DB4_CONFIG}"
66
67# Override the MUTEX setting here, the POSIX library is
68# the default - "POSIX/pthreads/library".
69# Don't ignore the nice SWP instruction on the ARM:
70# These enable the ARM assembler mutex code, this won't
71# work with thumb compilation...
72ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
73MUTEX = ""
74MUTEX_arm = "${ARM_MUTEX}"
75MUTEX_armeb = "${ARM_MUTEX}"
76EXTRA_OECONF += "${MUTEX}"
77
78ARM_INSTRUCTION_SET = "arm"
79
80# Cancel the site stuff - it's set for db3 and destroys the
81# configure.
82CONFIG_SITE = ""
83do_configure() {
84 rm -f ${S}/config.sub
85 cp ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/config.sub
86 oe_runconf
87}
88
89do_install_append() {
90 # The docs end up in /usr/docs - not right.
91 if test -d "${D}/${prefix}/docs"
92 then
93 mkdir -p "${D}/${datadir}"
94 test ! -d "${D}/${docdir}" || rm -rf "${D}/${docdir}"
95 mv "${D}/${prefix}/docs" "${D}/${docdir}"
96 fi
97}
98
99# The db package contains symlinks that trip up insane
100INSANE_SKIP_db = "1"
101
102BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/db/db_4.3.29.bb b/meta/recipes-support/db/db_5.1.19.bb
index 04a6680f07..919e532be1 100644
--- a/meta/recipes-support/db/db_4.3.29.bb
+++ b/meta/recipes-support/db/db_5.1.19.bb
@@ -1,7 +1,4 @@
1# Has issues with eds 1# Version 5 of the Berkeley DB from Sleepycat
2DEFAULT_PREFERENCE = "-1"
3
4# Version 4 of the Berkeley DB from Sleepycat
5# 2#
6# At present this package only installs the DB code 3# At present this package only installs the DB code
7# itself (shared libraries, .a in the dev package), 4# itself (shared libraries, .a in the dev package),
@@ -9,19 +6,24 @@ DEFAULT_PREFERENCE = "-1"
9# 6#
10# The headers have the same names as those as v3 7# The headers have the same names as those as v3
11# of the DB, only one version can be used *for dev* 8# of the DB, only one version can be used *for dev*
12# at once - DB3 and DB4 can both be installed on the 9# at once - DB3 and DB5 can both be installed on the
13# same system at the same time if really necessary. 10# same system at the same time if really necessary.
14SECTION = "libs" 11SECTION = "libs"
15DESCRIPTION = "Berkeley DB v4." 12DESCRIPTION = "Berkeley DB v5."
16HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html" 13HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html"
17LICENSE = "BSD Sleepycat" 14LICENSE = "BSD Sleepycat"
18VIRTUAL_NAME ?= "virtual/db" 15VIRTUAL_NAME ?= "virtual/db"
19CONFLICTS = "db3" 16CONFLICTS = "db3"
20PR = "r8" 17PR = "r1"
21 18
22SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz" 19SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz"
23#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5" 20#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5"
24SRC_URI += "file://arm-thumb-mutex.patch;patch=1" 21SRC_URI += "file://arm-thumb-mutex_db5.patch;patch=1"
22
23SRC_URI[md5sum] = "76fcbfeebfcd09ba0b4d96bfdf8d884d"
24SRC_URI[sha256sum] = "0194d4ca9266ba1a1c0bfbc233b18bfd05f63163453c81ebcdfdc7112d5ac850"
25
26LIC_FILES_CHKSUM = "file://../LICENSE;md5=86f9294f39f38ef9e89690bcd2320e7a"
25 27
26inherit autotools 28inherit autotools
27 29
@@ -47,7 +49,7 @@ B = "${WORKDIR}/db-${PV}/build_unix"
47PACKAGES += " ${PN}-bin" 49PACKAGES += " ${PN}-bin"
48 50
49# Package contents 51# Package contents
50FILES_${PN} = "${libdir}/libdb-4*so*" 52FILES_${PN} = "${libdir}/libdb-5*so*"
51FILES_${PN}-bin = "${bindir}/*" 53FILES_${PN}-bin = "${bindir}/*"
52# The dev package has the .so link (as in db3) and the .a's - 54# The dev package has the .so link (as in db3) and the .a's -
53# it is therefore incompatible (cannot be installed at the 55# it is therefore incompatible (cannot be installed at the
@@ -56,9 +58,9 @@ FILES_${PN}-dev = "${includedir} ${libdir}/*"
56 58
57#configuration - set in local.conf to override 59#configuration - set in local.conf to override
58# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix) 60# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix)
59DB4_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-statistics --disable-verify --enable-compat185" 61DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-statistics --disable-verify --disable-compat185 --disable-sql"
60 62
61EXTRA_OECONF = "${DB4_CONFIG}" 63EXTRA_OECONF = "${DB5_CONFIG}"
62 64
63# Override the MUTEX setting here, the POSIX library is 65# Override the MUTEX setting here, the POSIX library is
64# the default - "POSIX/pthreads/library". 66# the default - "POSIX/pthreads/library".
@@ -79,11 +81,24 @@ do_configure() {
79} 81}
80 82
81do_install_append() { 83do_install_append() {
84 mkdir -p ${D}/${includedir}/db51
85 #mv ${D}/${includedir}/db_185.h ${D}/${includedir}/db51/.
86 mv ${D}/${includedir}/db.h ${D}/${includedir}/db51/.
87 mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db51/.
88 #mv ${D}/${includedir}/dbsql.h ${D}/${includedir}/db51/.
89 #ln -s db51/db_185.h ${D}/${includedir}/db_185.h
90 ln -s db51/db.h ${D}/${includedir}/db.h
91 ln -s db51/db_cxx.h ${D}/${includedir}/db_cxx.h
92 #ln -s db51/dbsql.h ${D}/${includedir}/dbsql.h
93
82 # The docs end up in /usr/docs - not right. 94 # The docs end up in /usr/docs - not right.
83 if test -d "${D}/${prefix}/docs" 95 if test -d "${D}/${prefix}/docs"
84 then 96 then
85 mkdir -p "${D}/${datadir}" 97 mkdir -p "${D}/${datadir}"
86 test ! -d "${D}/${docdir}" || rmdir "${D}/${docdir}" 98 test ! -d "${D}/${docdir}" || rm -rf "${D}/${docdir}"
87 mv "${D}/${prefix}/docs" "${D}/${docdir}" 99 mv "${D}/${prefix}/docs" "${D}/${docdir}"
88 fi 100 fi
89} 101}
102
103BBCLASSEXTEND = "native nativesdk"
104