Mark Hatle : db: Add version 6.0.30
Quoted 8 lines · On Tue, Jul 08, 2014 at 10:20:41AM +0000, [email protected] wrote:
Module: openembedded-core.git Branch: master Commit: 04bb223110da2f92725c341bc3ec0cf26325f675 URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=04bb223110da2f92725c341bc3ec0cf26325f675Author: Mark Hatle <[email protected]> Date: Wed Jul 2 19:57:43 2014 -0500
Quoted 6 lines
db: Add version 6.0.30
The latest version of RPM5 requires Berkley DB 6.0.20 or newer.
The license is now AGPL-3.0 in BDB 6.0. This may not be acceptable to some, so the previous version is retained as an alternative.
This is failing on some hosts with:
| In file included from /OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/db/6.0.30-r0/db-6.0.30/lang/cxx/cxx_channel.cpp:13:0:
| ./db_cxx.h:59:22: fatal error: iostream.h: No such file or directory | #include <iostream.h> | ^
Quoted 155 lines
Signed-off-by Mark Hatle <[email protected]>Signed-off-by Richard Purdie <[email protected]>---
.../db/db/arm-thumb-mutex_db5.patch | 10 ++ meta/recipes-support/db/db_6.0.30.bb | 114 +++++++++++++++++++++ 2 files changed, 124 insertions(+)meta/recipes-support/db/db/arm-thumb-mutex_db5.patch +10
-0@@ -1,5 +1,15 @@ +Original patch submitted by [email protected] on 2005-11-17: + +db: fix thumb uclibc operation in 4.3.29 + - uclibc thumb builds were using libpthread to implement mutexes, the + - uclibc version seems to be a stub (at least on thumb). This commit + - fixes the ARM/gcc-assembly mutex implementation so that it has thumb + - support and the resultant db4 works (tested on LE Thumb uclibc) + Upstream-Status: Inappropriate [embedded specific] +Author: [email protected] + --- 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 @@meta/recipes-support/db/db_6.0.30.bb new file +114
-0@@ -0,0 +1,114 @@ +# Version 6 of the Berkeley DB from Oracle (formerly 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 DB6 can both be installed on the +# same system at the same time if really necessary. +SECTION = "libs" +SUMMARY = "Berkeley Database v6" +HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html" +LICENSE = "AGPL-3.0" +VIRTUAL_NAME ?= "virtual/db" +RCONFLICTS_${PN} = "db3" + +SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz" +SRC_URI += "file://arm-thumb-mutex_db5.patch;patchdir=.. \ + file://fix-parallel-build.patch \ + " + +SRC_URI[md5sum] = "ad28eb86ad3203b5422844db179c585b" +SRC_URI[sha256sum] = "608e4b1cf390e9bf54c0ef00c5bd9ca76d36e2261b9f4d33d54516f3f6a20fd2" + +LIC_FILES_CHKSUM = "file://../LICENSE;md5=1ec8b0b17cc31513fe35ab10716f8490" + +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. +inherit lib_package + +PACKAGES =+ "${PN}-cxx" +FILES_${PN}-cxx = "${libdir}/*cxx*so" + + +# 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 +# sort out the .so since they do version prior to the .so +SOLIBS = "-6*.so" +FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so" + +#configuration - set in local.conf to override +# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix) +DB6_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql" + +EXTRA_OECONF = "${DB6_CONFIG} --enable-shared --enable-cxx --with-sysroot" + +# 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 +ARM_MUTEX = "--with-mutex=ARM/gcc-assembly" +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() { + gnu-configize --force ${S} + export STRIP="true" + oe_runconf +} + +do_compile_prepend() { + sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' \ + ${B}/libtool +} + +do_install_append() { + mkdir -p ${D}/${includedir}/db60 + mv ${D}/${includedir}/db.h ${D}/${includedir}/db60/. + mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db60/. + ln -s db60/db.h ${D}/${includedir}/db.h + ln -s db60/db_cxx.h ${D}/${includedir}/db_cxx.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}" || rm -rf "${D}/${docdir}" + mv "${D}/${prefix}/docs" "${D}/${docdir}" + fi + + chown -R root:root ${D} +} + +INSANE_SKIP_${PN} = "dev-so" +INSANE_SKIP_${PN}-cxx = "dev-so" + +BBCLASSEXTEND = "native nativesdk" +Signature · 5 lines
-- _______________________________________________ Openembedded-commits mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-commits
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 9 lines · Martin Jansa
Quoted 8 lines · On Tue, Jul 08, 2014 at 10:20:41AM +0000, [email protected] wrote:
Module: openembedded-core.git Branch: master Commit: 04bb223110da2f92725c341bc3ec0cf26325f675 URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=04bb223110da2f92725c341bc3ec0cf26325f675Author: Mark Hatle <[email protected]> Date: Wed Jul 2 19:57:43 2014 -0500
Quoted 8 lines
Quoted 6 lines
db: Add version 6.0.30
The latest version of RPM5 requires Berkley DB 6.0.20 or newer.
The license is now AGPL-3.0 in BDB 6.0. This may not be acceptable to some, so the previous version is retained as an alternative.
This is failing on some hosts with:
That's odd.. what host OS's and toolchain versions is it failing on?
The iostream.h file SHOULD exist in all systems that have C++ development installed.
--Mark
Quoted 162 lines
| In file included from /OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/db/6.0.30-r0/db-6.0.30/lang/cxx/cxx_channel.cpp:13:0:
| ./db_cxx.h:59:22: fatal error: iostream.h: No such file or directory | #include <iostream.h> | ^Quoted 155 lines
Signed-off-by Mark Hatle <[email protected]>Signed-off-by Richard Purdie <[email protected]>---
.../db/db/arm-thumb-mutex_db5.patch | 10 ++ meta/recipes-support/db/db_6.0.30.bb | 114 +++++++++++++++++++++ 2 files changed, 124 insertions(+)meta/recipes-support/db/db/arm-thumb-mutex_db5.patch +10
-0@@ -1,5 +1,15 @@ +Original patch submitted by [email protected] on 2005-11-17: + +db: fix thumb uclibc operation in 4.3.29 + - uclibc thumb builds were using libpthread to implement mutexes, the + - uclibc version seems to be a stub (at least on thumb). This commit + - fixes the ARM/gcc-assembly mutex implementation so that it has thumb + - support and the resultant db4 works (tested on LE Thumb uclibc) + Upstream-Status: Inappropriate [embedded specific] +Author: [email protected] + --- 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 @@meta/recipes-support/db/db_6.0.30.bb new file +114
-1@@ -0,0 +1,114 @@ +# Version 6 of the Berkeley DB from Oracle (formerly 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 DB6 can both be installed on the +# same system at the same time if really necessary. +SECTION = "libs" +SUMMARY = "Berkeley Database v6" +HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html" +LICENSE = "AGPL-3.0" +VIRTUAL_NAME ?= "virtual/db" +RCONFLICTS_${PN} = "db3" + +SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz" +SRC_URI += "file://arm-thumb-mutex_db5.patch;patchdir=.. \ + file://fix-parallel-build.patch \ + " + +SRC_URI[md5sum] = "ad28eb86ad3203b5422844db179c585b" +SRC_URI[sha256sum] = "608e4b1cf390e9bf54c0ef00c5bd9ca76d36e2261b9f4d33d54516f3f6a20fd2" + +LIC_FILES_CHKSUM = "file://../LICENSE;md5=1ec8b0b17cc31513fe35ab10716f8490" + +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. +inherit lib_package + +PACKAGES =+ "${PN}-cxx" +FILES_${PN}-cxx = "${libdir}/*cxx*so" + + +# 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 +# sort out the .so since they do version prior to the .so +SOLIBS = "-6*.so" +FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so" + +#configuration - set in local.conf to override +# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix) +DB6_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql" + +EXTRA_OECONF = "${DB6_CONFIG} --enable-shared --enable-cxx --with-sysroot" + +# 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 +ARM_MUTEX = "--with-mutex=ARM/gcc-assembly" +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() { + gnu-configize --force ${S} + export STRIP="true" + oe_runconf +} + +do_compile_prepend() { + sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' \ + ${B}/libtool +} + +do_install_append() { + mkdir -p ${D}/${includedir}/db60 + mv ${D}/${includedir}/db.h ${D}/${includedir}/db60/. + mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db60/. + ln -s db60/db.h ${D}/${includedir}/db.h + ln -s db60/db_cxx.h ${D}/${includedir}/db_cxx.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}" || rm -rf "${D}/${docdir}" + mv "${D}/${prefix}/docs" "${D}/${docdir}" + fi + + chown -R root:root ${D} +} + +INSANE_SKIP_${PN} = "dev-so" +INSANE_SKIP_${PN}-cxx = "dev-so" + +BBCLASSEXTEND = "native nativesdk" + --_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-commits
Quoted 14 lines · Mark Hatle
Quoted 13 lines · Martin Jansa
Quoted 12 lines · On Tue, Jul 08, 2014 at 10:20:41AM +0000, [email protected] wrote:
Module: openembedded-core.git Branch: master Commit: 04bb223110da2f92725c341bc3ec0cf26325f675 URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=04bb223110da2f92725c341bc3ec0cf26325f675Author: Mark Hatle <[email protected]> Date: Wed Jul 2 19:57:43 2014 -0500db: Add version 6.0.30
The latest version of RPM5 requires Berkley DB 6.0.20 or newer.
Quoted 8 lines
Quoted 4 lines
Quoted 2 lines
The license is now AGPL-3.0 in BDB 6.0. This may not be acceptable to some, so the previous version is retained as an alternative.
This is failing on some hosts with:
That's odd.. what host OS's and toolchain versions is it failing on?
The
iostream.hfile SHOULD exist in all systems that have C++ development installed.
Gentoo, gcc-4.9 and iostream.h exists in usual locations (at least now), rebuilding db manually helped
Quoted 163 lines
Quoted 162 lines
| In file included from /OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/db/6.0.30-r0/db-6.0.30/lang/cxx/cxx_channel.cpp:13:0:
| ./db_cxx.h:59:22: fatal error: iostream.h: No such file or directory | #include <iostream.h> | ^Quoted 155 lines
Signed-off-by Mark Hatle <[email protected]>Signed-off-by Richard Purdie <[email protected]>---
.../db/db/arm-thumb-mutex_db5.patch | 10 ++ meta/recipes-support/db/db_6.0.30.bb | 114 +++++++++++++++++++++ 2 files changed, 124 insertions(+)meta/recipes-support/db/db/arm-thumb-mutex_db5.patch +10
-0@@ -1,5 +1,15 @@ +Original patch submitted by [email protected] on 2005-11-17: + +db: fix thumb uclibc operation in 4.3.29 + - uclibc thumb builds were using libpthread to implement mutexes, the + - uclibc version seems to be a stub (at least on thumb). This commit + - fixes the ARM/gcc-assembly mutex implementation so that it has thumb + - support and the resultant db4 works (tested on LE Thumb uclibc) + Upstream-Status: Inappropriate [embedded specific] +Author: [email protected] + --- 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 @@meta/recipes-support/db/db_6.0.30.bb new file +114
-1@@ -0,0 +1,114 @@ +# Version 6 of the Berkeley DB from Oracle (formerly 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 DB6 can both be installed on the +# same system at the same time if really necessary. +SECTION = "libs" +SUMMARY = "Berkeley Database v6" +HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html" +LICENSE = "AGPL-3.0" +VIRTUAL_NAME ?= "virtual/db" +RCONFLICTS_${PN} = "db3" + +SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz" +SRC_URI += "file://arm-thumb-mutex_db5.patch;patchdir=.. \ + file://fix-parallel-build.patch \ + " + +SRC_URI[md5sum] = "ad28eb86ad3203b5422844db179c585b" +SRC_URI[sha256sum] = "608e4b1cf390e9bf54c0ef00c5bd9ca76d36e2261b9f4d33d54516f3f6a20fd2" + +LIC_FILES_CHKSUM = "file://../LICENSE;md5=1ec8b0b17cc31513fe35ab10716f8490" + +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. +inherit lib_package + +PACKAGES =+ "${PN}-cxx" +FILES_${PN}-cxx = "${libdir}/*cxx*so" + + +# 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 +# sort out the .so since they do version prior to the .so +SOLIBS = "-6*.so" +FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so" + +#configuration - set in local.conf to override +# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix) +DB6_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql" + +EXTRA_OECONF = "${DB6_CONFIG} --enable-shared --enable-cxx --with-sysroot" + +# 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 +ARM_MUTEX = "--with-mutex=ARM/gcc-assembly" +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() { + gnu-configize --force ${S} + export STRIP="true" + oe_runconf +} + +do_compile_prepend() { + sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' \ + ${B}/libtool +} + +do_install_append() { + mkdir -p ${D}/${includedir}/db60 + mv ${D}/${includedir}/db.h ${D}/${includedir}/db60/. + mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db60/. + ln -s db60/db.h ${D}/${includedir}/db.h + ln -s db60/db_cxx.h ${D}/${includedir}/db_cxx.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}" || rm -rf "${D}/${docdir}" + mv "${D}/${prefix}/docs" "${D}/${docdir}" + fi + + chown -R root:root ${D} +} + +INSANE_SKIP_${PN} = "dev-so" +INSANE_SKIP_${PN}-cxx = "dev-so" + +BBCLASSEXTEND = "native nativesdk" + --_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-commits
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 18 lines · Martin Jansa
Quoted 17 lines · Mark Hatle
Quoted 16 lines · Martin Jansa
Quoted 14 lines · On Tue, Jul 08, 2014 at 10:20:41AM +0000, [email protected] wrote:
Module: openembedded-core.git Branch: master Commit: 04bb223110da2f92725c341bc3ec0cf26325f675 URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=04bb223110da2f92725c341bc3ec0cf26325f675Author: Mark Hatle <[email protected]> Date: Wed Jul 2 19:57:43 2014 -0500db: Add version 6.0.30
The latest version of RPM5 requires Berkley DB 6.0.20 or newer.
The license is now AGPL-3.0 in BDB 6.0. This may not be acceptable to some, so the previous version is retained as an alternative.
Quoted 8 lines
Quoted 5 lines
Quoted 1 line
This is failing on some hosts with:
That's odd.. what host OS's and toolchain versions is it failing on?
The
iostream.hfile SHOULD exist in all systems that have C++ development installed.Gentoo, gcc-4.9 and
iostream.hexists in usual locations (at least now), rebuilding db manually helped
I don't have gentoo anywhere to try to reproduce and figure out what is wrong here. Does the db 5.x still compile properly? (Switching preferred version)
Otherwise we'll have to find someone who has access to one of these hosts and can dig in to figure out why the include isn't being found.
--Mark
Quoted 164 lines
Quoted 163 lines
Quoted 162 lines
| In file included from /OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/db/6.0.30-r0/db-6.0.30/lang/cxx/cxx_channel.cpp:13:0:
| ./db_cxx.h:59:22: fatal error: iostream.h: No such file or directory | #include <iostream.h> | ^Quoted 155 lines
Signed-off-by Mark Hatle <[email protected]>Signed-off-by Richard Purdie <[email protected]>---
.../db/db/arm-thumb-mutex_db5.patch | 10 ++ meta/recipes-support/db/db_6.0.30.bb | 114 +++++++++++++++++++++ 2 files changed, 124 insertions(+)meta/recipes-support/db/db/arm-thumb-mutex_db5.patch +10
-0@@ -1,5 +1,15 @@ +Original patch submitted by [email protected] on 2005-11-17: + +db: fix thumb uclibc operation in 4.3.29 + - uclibc thumb builds were using libpthread to implement mutexes, the + - uclibc version seems to be a stub (at least on thumb). This commit + - fixes the ARM/gcc-assembly mutex implementation so that it has thumb + - support and the resultant db4 works (tested on LE Thumb uclibc) + Upstream-Status: Inappropriate [embedded specific] +Author: [email protected] + --- 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 @@meta/recipes-support/db/db_6.0.30.bb new file +114
-1@@ -0,0 +1,114 @@ +# Version 6 of the Berkeley DB from Oracle (formerly 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 DB6 can both be installed on the +# same system at the same time if really necessary. +SECTION = "libs" +SUMMARY = "Berkeley Database v6" +HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html" +LICENSE = "AGPL-3.0" +VIRTUAL_NAME ?= "virtual/db" +RCONFLICTS_${PN} = "db3" + +SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz" +SRC_URI += "file://arm-thumb-mutex_db5.patch;patchdir=.. \ + file://fix-parallel-build.patch \ + " + +SRC_URI[md5sum] = "ad28eb86ad3203b5422844db179c585b" +SRC_URI[sha256sum] = "608e4b1cf390e9bf54c0ef00c5bd9ca76d36e2261b9f4d33d54516f3f6a20fd2" + +LIC_FILES_CHKSUM = "file://../LICENSE;md5=1ec8b0b17cc31513fe35ab10716f8490" + +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. +inherit lib_package + +PACKAGES =+ "${PN}-cxx" +FILES_${PN}-cxx = "${libdir}/*cxx*so" + + +# 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 +# sort out the .so since they do version prior to the .so +SOLIBS = "-6*.so" +FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so" + +#configuration - set in local.conf to override +# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix) +DB6_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql" + +EXTRA_OECONF = "${DB6_CONFIG} --enable-shared --enable-cxx --with-sysroot" + +# 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 +ARM_MUTEX = "--with-mutex=ARM/gcc-assembly" +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() { + gnu-configize --force ${S} + export STRIP="true" + oe_runconf +} + +do_compile_prepend() { + sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' \ + ${B}/libtool +} + +do_install_append() { + mkdir -p ${D}/${includedir}/db60 + mv ${D}/${includedir}/db.h ${D}/${includedir}/db60/. + mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db60/. + ln -s db60/db.h ${D}/${includedir}/db.h + ln -s db60/db_cxx.h ${D}/${includedir}/db_cxx.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}" || rm -rf "${D}/${docdir}" + mv "${D}/${prefix}/docs" "${D}/${docdir}" + fi + + chown -R root:root ${D} +} + +INSANE_SKIP_${PN} = "dev-so" +INSANE_SKIP_${PN}-cxx = "dev-so" + +BBCLASSEXTEND = "native nativesdk" + --_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-commits
Quoted 25 lines · Mark Hatle
Quoted 24 lines · Martin Jansa
Quoted 22 lines · Mark Hatle
Quoted 9 lines · Martin Jansa
Quoted 8 lines · On Tue, Jul 08, 2014 at 10:20:41AM +0000, [email protected] wrote:
Module: openembedded-core.git Branch: master Commit: 04bb223110da2f92725c341bc3ec0cf26325f675 URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=04bb223110da2f92725c341bc3ec0cf26325f675Author: Mark Hatle <[email protected]> Date: Wed Jul 2 19:57:43 2014 -0500Quoted 8 lines
Quoted 6 lines
db: Add version 6.0.30
The latest version of RPM5 requires Berkley DB 6.0.20 or newer.
The license is now AGPL-3.0 in BDB 6.0. This may not be acceptable to some, so the previous version is retained as an alternative.
This is failing on some hosts with:
That's odd.. what host OS's and toolchain versions is it failing on?
The
iostream.hfile SHOULD exist in all systems that have C++ development installed.
Quoted 8 lines
Quoted 2 lines
Gentoo, gcc-4.9 and
iostream.hexists in usual locations (at least now), rebuilding db manually helpedI don't have gentoo anywhere to try to reproduce and figure out what is wrong here. Does the db 5.x still compile properly? (Switching preferred version)
Otherwise we'll have to find someone who has access to one of these hosts and can dig in to figure out why the include isn't being found.
You can easily download small Gentoo chroot:
http://git.shr-project.org/git/?p=shr-chroot.git
but it probably isn't worth your time, it was only temporary (after cleansstate it worked fine) - so maybe it isn't even host distro specific.
Feel free to ignored it if other people don't start reporting the same.
Cheers,
Quoted 165 lines
Quoted 164 lines
Quoted 163 lines
Quoted 162 lines
| In file included from /OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/db/6.0.30-r0/db-6.0.30/lang/cxx/cxx_channel.cpp:13:0:
| ./db_cxx.h:59:22: fatal error: iostream.h: No such file or directory | #include <iostream.h> | ^Quoted 155 lines
Signed-off-by Mark Hatle <[email protected]>Signed-off-by Richard Purdie <[email protected]>---
.../db/db/arm-thumb-mutex_db5.patch | 10 ++ meta/recipes-support/db/db_6.0.30.bb | 114 +++++++++++++++++++++ 2 files changed, 124 insertions(+)meta/recipes-support/db/db/arm-thumb-mutex_db5.patch +10
-0@@ -1,5 +1,15 @@ +Original patch submitted by [email protected] on 2005-11-17: + +db: fix thumb uclibc operation in 4.3.29 + - uclibc thumb builds were using libpthread to implement mutexes, the + - uclibc version seems to be a stub (at least on thumb). This commit + - fixes the ARM/gcc-assembly mutex implementation so that it has thumb + - support and the resultant db4 works (tested on LE Thumb uclibc) + Upstream-Status: Inappropriate [embedded specific] +Author: [email protected] + --- 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 @@meta/recipes-support/db/db_6.0.30.bb new file +114
-1@@ -0,0 +1,114 @@ +# Version 6 of the Berkeley DB from Oracle (formerly 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 DB6 can both be installed on the +# same system at the same time if really necessary. +SECTION = "libs" +SUMMARY = "Berkeley Database v6" +HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html" +LICENSE = "AGPL-3.0" +VIRTUAL_NAME ?= "virtual/db" +RCONFLICTS_${PN} = "db3" + +SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz" +SRC_URI += "file://arm-thumb-mutex_db5.patch;patchdir=.. \ + file://fix-parallel-build.patch \ + " + +SRC_URI[md5sum] = "ad28eb86ad3203b5422844db179c585b" +SRC_URI[sha256sum] = "608e4b1cf390e9bf54c0ef00c5bd9ca76d36e2261b9f4d33d54516f3f6a20fd2" + +LIC_FILES_CHKSUM = "file://../LICENSE;md5=1ec8b0b17cc31513fe35ab10716f8490" + +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. +inherit lib_package + +PACKAGES =+ "${PN}-cxx" +FILES_${PN}-cxx = "${libdir}/*cxx*so" + + +# 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 +# sort out the .so since they do version prior to the .so +SOLIBS = "-6*.so" +FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so" + +#configuration - set in local.conf to override +# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix) +DB6_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql" + +EXTRA_OECONF = "${DB6_CONFIG} --enable-shared --enable-cxx --with-sysroot" + +# 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 +ARM_MUTEX = "--with-mutex=ARM/gcc-assembly" +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() { + gnu-configize --force ${S} + export STRIP="true" + oe_runconf +} + +do_compile_prepend() { + sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' \ + ${B}/libtool +} + +do_install_append() { + mkdir -p ${D}/${includedir}/db60 + mv ${D}/${includedir}/db.h ${D}/${includedir}/db60/. + mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db60/. + ln -s db60/db.h ${D}/${includedir}/db.h + ln -s db60/db_cxx.h ${D}/${includedir}/db_cxx.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}" || rm -rf "${D}/${docdir}" + mv "${D}/${prefix}/docs" "${D}/${docdir}" + fi + + chown -R root:root ${D} +} + +INSANE_SKIP_${PN} = "dev-so" +INSANE_SKIP_${PN}-cxx = "dev-so" + +BBCLASSEXTEND = "native nativesdk" + --_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-commits
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]