From 8f72cae18961e9556e54db76a416bde497dc8b6d Mon Sep 17 00:00:00 2001 From: Aníbal Limón Date: Wed, 28 Sep 2016 11:06:10 -0500 Subject: db: Upgrade to 6.0.35 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The SRC_URI was changed to point gentoo distfiles because now Oracle request authorization for download the source code [1], there are no changes in the LICENSE since version 6.0.20 when the LICENSE changes to AGPL-3 [2], also the md5sum was review to be sure that is the same. This minor upgrade fix an issue related to multiple rpm instances querying the database [3]. The bugfixes related are, - Fixed a bug that may lead to a crash when opening multiple environments in a multi-threaded program. - Fixed a bug where closing a panic environment raised access violation and crashed the program. For see the complete list of changes mostly bugfixes between 6.0.30 and 6.0.35 [4]. [1] http://download.oracle.com/otn/berkeley-db/db-6.0.35.tar.gz [2] http://download.oracle.com/otndocs/products/berkeleydb/html/changelog_6_0.html#idp509784 [3] https://bugzilla.yoctoproject.org/show_bug.cgi?id=10157#c0 [4] http://download.oracle.com/otndocs/products/berkeleydb/html/changelog_6_0.html#idp503384 [YOCTO #10157] Signed-off-by: Aníbal Limón Signed-off-by: Richard Purdie --- meta/recipes-support/db/db_6.0.30.bb | 123 ----------------------------------- meta/recipes-support/db/db_6.0.35.bb | 122 ++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 123 deletions(-) delete mode 100644 meta/recipes-support/db/db_6.0.30.bb create mode 100644 meta/recipes-support/db/db_6.0.35.bb (limited to 'meta') diff --git a/meta/recipes-support/db/db_6.0.30.bb b/meta/recipes-support/db/db_6.0.30.bb deleted file mode 100644 index 072cbdf217..0000000000 --- a/meta/recipes-support/db/db_6.0.30.bb +++ /dev/null @@ -1,123 +0,0 @@ -# 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/technetwork/database/database-technologies/berkeleydb/overview/index.html" -LICENSE = "AGPL-3.0" -VIRTUAL_NAME ?= "virtual/db" -RCONFLICTS_${PN} = "db3" - -PR = "r1" - -# Note, when upgraded to 6.1.x, a patch in RPM will need to be removed to activate db 6.1 support. - -SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz \ - file://arm-thumb-mutex_db5.patch \ - file://fix-parallel-build.patch \ - file://Makefile-let-libso_target-depend-on-bt_rec.patch \ - file://Makefile-let-libdb-6.0.la-depend-os_map.l.patch \ - " - -SRC_URI[md5sum] = "ad28eb86ad3203b5422844db179c585b" -SRC_URI[sha256sum] = "608e4b1cf390e9bf54c0ef00c5bd9ca76d36e2261b9f4d33d54516f3f6a20fd2" - -# Exclude NC versions which lack AES encryption -UPSTREAM_CHECK_REGEX = "db-(?P\d+\.\d+(\.\d+)?).tar" -UPSTREAM_CHECK_URI = "http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=1ec8b0b17cc31513fe35ab10716f8490" - -# 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}" - -inherit autotools - -# 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" - -# Cancel the site stuff - it's set for db3 and destroys the configure. -CONFIG_SITE = "" - -AUTOTOOLS_SCRIPT_PATH = "${S}/dist" - -do_configure() { - cd ${B} - gnu-configize --force ${AUTOTOOLS_SCRIPT_PATH} - oe_runconf -} - -# 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}" -EXTRA_OEMAKE_append_class-target = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" -EXTRA_OEMAKE += "STRIP=true" - -do_compile_prepend() { - # Stop libtool adding RPATHs - 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} -} - -# libdb isn't versioned in the typical manner (libdb-6.0.so is the full library -# name) so skip these checks. -INSANE_SKIP_${PN} = "dev-so" -INSANE_SKIP_${PN}-cxx = "dev-so" - -BBCLASSEXTEND = "native nativesdk" - -RECIPE_NO_UPDATE_REASON = "latest db does not work with RPM-5.x due to changes in locking semantics" diff --git a/meta/recipes-support/db/db_6.0.35.bb b/meta/recipes-support/db/db_6.0.35.bb new file mode 100644 index 0000000000..32afbe82d8 --- /dev/null +++ b/meta/recipes-support/db/db_6.0.35.bb @@ -0,0 +1,122 @@ +# 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/technetwork/database/database-technologies/berkeleydb/overview/index.html" +LICENSE = "AGPL-3.0" +VIRTUAL_NAME ?= "virtual/db" +RCONFLICTS_${PN} = "db3" + +PR = "r1" + +# Note, when upgraded to 6.1.x, a patch in RPM will need to be removed to activate db 6.1 support. +SRC_URI = "http://distfiles.gentoo.org/distfiles/db-${PV}.tar.gz \ + file://arm-thumb-mutex_db5.patch \ + file://fix-parallel-build.patch \ + file://Makefile-let-libso_target-depend-on-bt_rec.patch \ + file://Makefile-let-libdb-6.0.la-depend-os_map.l.patch \ + " + +SRC_URI[md5sum] = "c65a4d3e930a116abaaf69edfc697f25" +SRC_URI[sha256sum] = "24421affa8ae436fe427ae4f5f2d1634da83d3d55a5ad6354a98eeedb825de55" + +# Exclude NC versions which lack AES encryption +UPSTREAM_CHECK_REGEX = "db-(?P\d+\.\d+(\.\d+)?).tar" +UPSTREAM_CHECK_URI = "http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ec8b0b17cc31513fe35ab10716f8490" + +# 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}" + +inherit autotools + +# 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" + +# Cancel the site stuff - it's set for db3 and destroys the configure. +CONFIG_SITE = "" + +AUTOTOOLS_SCRIPT_PATH = "${S}/dist" + +do_configure() { + cd ${B} + gnu-configize --force ${AUTOTOOLS_SCRIPT_PATH} + oe_runconf +} + +# 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}" +EXTRA_OEMAKE_append_class-target = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" +EXTRA_OEMAKE += "STRIP=true" + +do_compile_prepend() { + # Stop libtool adding RPATHs + 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} +} + +# libdb isn't versioned in the typical manner (libdb-6.0.so is the full library +# name) so skip these checks. +INSANE_SKIP_${PN} = "dev-so" +INSANE_SKIP_${PN}-cxx = "dev-so" + +BBCLASSEXTEND = "native nativesdk" + +RECIPE_NO_UPDATE_REASON = "latest db does not work with RPM-5.x due to changes in locking semantics" -- cgit 1.2.3-korg