[OE-core] [oe-commits] Mark Hatle : db: Add version 6.0.30

Mark Hatle mark.hatle at windriver.com
Wed Jul 16 16:25:27 UTC 2014


On 7/16/14, 10:33 AM, Martin Jansa wrote:
> On Wed, Jul 16, 2014 at 09:07:54AM -0500, Mark Hatle wrote:
>> On 7/16/14, 8:52 AM, Martin Jansa wrote:
>>> On Tue, Jul 08, 2014 at 10:20:41AM +0000, git at git.openembedded.org wrote:
>>>> Module: openembedded-core.git
>>>> Branch: master
>>>> Commit: 04bb223110da2f92725c341bc3ec0cf26325f675
>>>> URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=04bb223110da2f92725c341bc3ec0cf26325f675
>>>>
>>>> Author: Mark Hatle <mark.hatle at windriver.com>
>>>> Date:   Wed Jul  2 19:57:43 2014 -0500
>>>>
>>>> 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.
>
> Gentoo, gcc-4.9 and iostream.h exists 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

>>> | 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>
>>> |                       ^
>>>
>>>> Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
>>>> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
>>>>
>>>> ---
>>>>
>>>>    .../db/db/arm-thumb-mutex_db5.patch                |  10 ++
>>>>    meta/recipes-support/db/db_6.0.30.bb               | 114 +++++++++++++++++++++
>>>>    2 files changed, 124 insertions(+)
>>>>
>>>> diff --git a/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch b/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
>>>> index 40b13de..34e8db8 100644
>>>> --- a/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
>>>> +++ b/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
>>>> @@ -1,5 +1,15 @@
>>>> +Original patch submitted by jbowler at nslu2-linux.org 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: jbowler at nslu2-linux.org
>>>> +
>>>>    --- 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 @@
>>>> diff --git a/meta/recipes-support/db/db_6.0.30.bb b/meta/recipes-support/db/db_6.0.30.bb
>>>> new file mode 100644
>>>> index 0000000..9fc4a30
>>>> --- /dev/null
>>>> +++ b/meta/recipes-support/db/db_6.0.30.bb
>>>> @@ -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
>>>> Openembedded-commits at lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-commits
>>>
>>
>




More information about the Openembedded-core mailing list