Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
From a3569f118fd95b7ad41e1a1128e17c0b8928556d Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 20 Jan 2019 18:30:23 -0800
|
||||
Subject: [PATCH] Fix libc++ compatibility by renaming atomic_init API
|
||||
|
||||
db5 does not build because it is redefining a C++11 standard
|
||||
library identifier, atomic_init(). Therefore prefix all
|
||||
its internal defines with '__db_', to avoid collisions.
|
||||
|
||||
Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/dbinc/atomic.h | 4 ++--
|
||||
src/mp/mp_fget.c | 4 ++--
|
||||
src/mp/mp_mvcc.c | 4 ++--
|
||||
src/mp/mp_region.c | 4 ++--
|
||||
src/mutex/mut_method.c | 2 +-
|
||||
src/mutex/mut_tas.c | 4 ++--
|
||||
6 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h
|
||||
index 1b49de5..7bf353c 100644
|
||||
--- a/src/dbinc/atomic.h
|
||||
+++ b/src/dbinc/atomic.h
|
||||
@@ -70,7 +70,7 @@ typedef struct {
|
||||
* These have no memory barriers; the caller must include them when necessary.
|
||||
*/
|
||||
#define atomic_read(p) ((p)->value)
|
||||
-#define atomic_init(p, val) ((p)->value = (val))
|
||||
+#define __db_atomic_init(p, val) ((p)->value = (val))
|
||||
|
||||
#ifdef HAVE_ATOMIC_SUPPORT
|
||||
|
||||
@@ -206,7 +206,7 @@ static inline int __db_atomic_compare_exchange(
|
||||
#define atomic_dec(env, p) (--(p)->value)
|
||||
#define atomic_compare_exchange(env, p, oldval, newval) \
|
||||
(DB_ASSERT(env, atomic_read(p) == (oldval)), \
|
||||
- atomic_init(p, (newval)), 1)
|
||||
+ __db_atomic_init(p, (newval)), 1)
|
||||
#else
|
||||
#define atomic_inc(env, p) __atomic_inc(env, p)
|
||||
#define atomic_dec(env, p) __atomic_dec(env, p)
|
||||
diff --git a/src/mp/mp_fget.c b/src/mp/mp_fget.c
|
||||
index 16de695..5159520 100644
|
||||
--- a/src/mp/mp_fget.c
|
||||
+++ b/src/mp/mp_fget.c
|
||||
@@ -649,7 +649,7 @@ alloc: /* Allocate a new buffer header and data space. */
|
||||
|
||||
/* Initialize enough so we can call __memp_bhfree. */
|
||||
alloc_bhp->flags = 0;
|
||||
- atomic_init(&alloc_bhp->ref, 1);
|
||||
+ __db_atomic_init(&alloc_bhp->ref, 1);
|
||||
#ifdef DIAGNOSTIC
|
||||
if ((uintptr_t)alloc_bhp->buf & (sizeof(size_t) - 1)) {
|
||||
__db_errx(env, DB_STR("3025",
|
||||
@@ -955,7 +955,7 @@ alloc: /* Allocate a new buffer header and data space. */
|
||||
MVCC_MPROTECT(bhp->buf, mfp->pagesize,
|
||||
PROT_READ);
|
||||
|
||||
- atomic_init(&alloc_bhp->ref, 1);
|
||||
+ __db_atomic_init(&alloc_bhp->ref, 1);
|
||||
MUTEX_LOCK(env, alloc_bhp->mtx_buf);
|
||||
alloc_bhp->priority = bhp->priority;
|
||||
alloc_bhp->pgno = bhp->pgno;
|
||||
diff --git a/src/mp/mp_mvcc.c b/src/mp/mp_mvcc.c
|
||||
index 770bad8..dbce4f3 100644
|
||||
--- a/src/mp/mp_mvcc.c
|
||||
+++ b/src/mp/mp_mvcc.c
|
||||
@@ -276,7 +276,7 @@ __memp_bh_freeze(dbmp, infop, hp, bhp, need_frozenp)
|
||||
#else
|
||||
memcpy(frozen_bhp, bhp, SSZA(BH, buf));
|
||||
#endif
|
||||
- atomic_init(&frozen_bhp->ref, 0);
|
||||
+ __db_atomic_init(&frozen_bhp->ref, 0);
|
||||
if (mutex != MUTEX_INVALID)
|
||||
frozen_bhp->mtx_buf = mutex;
|
||||
else if ((ret = __mutex_alloc(env, MTX_MPOOL_BH,
|
||||
@@ -428,7 +428,7 @@ __memp_bh_thaw(dbmp, infop, hp, frozen_bhp, alloc_bhp)
|
||||
#endif
|
||||
alloc_bhp->mtx_buf = mutex;
|
||||
MUTEX_LOCK(env, alloc_bhp->mtx_buf);
|
||||
- atomic_init(&alloc_bhp->ref, 1);
|
||||
+ __db_atomic_init(&alloc_bhp->ref, 1);
|
||||
F_CLR(alloc_bhp, BH_FROZEN);
|
||||
}
|
||||
|
||||
diff --git a/src/mp/mp_region.c b/src/mp/mp_region.c
|
||||
index 4952030..084f499 100644
|
||||
--- a/src/mp/mp_region.c
|
||||
+++ b/src/mp/mp_region.c
|
||||
@@ -245,7 +245,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
|
||||
MTX_MPOOL_FILE_BUCKET, 0, &htab[i].mtx_hash)) != 0)
|
||||
return (ret);
|
||||
SH_TAILQ_INIT(&htab[i].hash_bucket);
|
||||
- atomic_init(&htab[i].hash_page_dirty, 0);
|
||||
+ __db_atomic_init(&htab[i].hash_page_dirty, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -302,7 +302,7 @@ no_prealloc:
|
||||
} else
|
||||
hp->mtx_hash = mtx_base + (i % dbenv->mp_mtxcount);
|
||||
SH_TAILQ_INIT(&hp->hash_bucket);
|
||||
- atomic_init(&hp->hash_page_dirty, 0);
|
||||
+ __db_atomic_init(&hp->hash_page_dirty, 0);
|
||||
#ifdef HAVE_STATISTICS
|
||||
hp->hash_io_wait = 0;
|
||||
hp->hash_frozen = hp->hash_thawed = hp->hash_frozen_freed = 0;
|
||||
diff --git a/src/mutex/mut_method.c b/src/mutex/mut_method.c
|
||||
index 09353b0..3c954b9 100644
|
||||
--- a/src/mutex/mut_method.c
|
||||
+++ b/src/mutex/mut_method.c
|
||||
@@ -474,7 +474,7 @@ atomic_compare_exchange(env, v, oldval, newval)
|
||||
MUTEX_LOCK(env, mtx);
|
||||
ret = atomic_read(v) == oldval;
|
||||
if (ret)
|
||||
- atomic_init(v, newval);
|
||||
+ __db_atomic_init(v, newval);
|
||||
MUTEX_UNLOCK(env, mtx);
|
||||
|
||||
return (ret);
|
||||
diff --git a/src/mutex/mut_tas.c b/src/mutex/mut_tas.c
|
||||
index 106b161..5a3b033 100644
|
||||
--- a/src/mutex/mut_tas.c
|
||||
+++ b/src/mutex/mut_tas.c
|
||||
@@ -47,7 +47,7 @@ __db_tas_mutex_init(env, mutex, flags)
|
||||
|
||||
#ifdef HAVE_SHARED_LATCHES
|
||||
if (F_ISSET(mutexp, DB_MUTEX_SHARED))
|
||||
- atomic_init(&mutexp->sharecount, 0);
|
||||
+ __db_atomic_init(&mutexp->sharecount, 0);
|
||||
else
|
||||
#endif
|
||||
if (MUTEX_INIT(&mutexp->tas)) {
|
||||
@@ -536,7 +536,7 @@ __db_tas_mutex_unlock(env, mutex)
|
||||
F_CLR(mutexp, DB_MUTEX_LOCKED);
|
||||
/* Flush flag update before zeroing count */
|
||||
MEMBAR_EXIT();
|
||||
- atomic_init(&mutexp->sharecount, 0);
|
||||
+ __db_atomic_init(&mutexp->sharecount, 0);
|
||||
} else {
|
||||
DB_ASSERT(env, sharecount > 0);
|
||||
MEMBAR_EXIT();
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 29621d637e30982489693f2e207ce6a1790e3337 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 22 Mar 2017 15:32:26 +0000
|
||||
Subject: [PATCH] atomic: Rename local __atomic_compare_exchange to avoid clash
|
||||
with builtins
|
||||
|
||||
Helps building with clang
|
||||
|
||||
Fixes
|
||||
|
||||
../db-5.3.28/src/dbinc/atomic.h:179:19: error: definition of builtin function '__atomic_compare_exchange'
|
||||
static inline int __atomic_compare_exchange(
|
||||
|
||||
Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/dbinc/atomic.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h
|
||||
index 6a858f7..1b49de5 100644
|
||||
--- a/src/dbinc/atomic.h
|
||||
+++ b/src/dbinc/atomic.h
|
||||
@@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val;
|
||||
#define atomic_inc(env, p) __atomic_inc(p)
|
||||
#define atomic_dec(env, p) __atomic_dec(p)
|
||||
#define atomic_compare_exchange(env, p, o, n) \
|
||||
- __atomic_compare_exchange((p), (o), (n))
|
||||
+ __db_atomic_compare_exchange((p), (o), (n))
|
||||
static inline int __atomic_inc(db_atomic_t *p)
|
||||
{
|
||||
int temp;
|
||||
@@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic_t *p)
|
||||
* http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
|
||||
* which configure could be changed to use.
|
||||
*/
|
||||
-static inline int __atomic_compare_exchange(
|
||||
+static inline int __db_atomic_compare_exchange(
|
||||
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
|
||||
{
|
||||
atomic_value_t was;
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 96b303caf70a7635953c36e5bfb9ad6e75cb7637 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 14 Feb 2020 14:12:59 -0800
|
||||
Subject: [PATCH] clock: Do not define own timespec
|
||||
|
||||
timespec is provided by libc and its best left to libc
|
||||
os_gettime takes a db_timespec and passed its address to clock_gettime
|
||||
which assumes that db_timespec and timespec are same but actually
|
||||
its 12-bytes here and libc has 16-bytes
|
||||
|
||||
This can cause problems especially with 64bit time_t
|
||||
|
||||
Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/dbinc/clock.h | 17 +----------------
|
||||
1 file changed, 1 insertion(+), 16 deletions(-)
|
||||
|
||||
--- a/src/dbinc/clock.h
|
||||
+++ b/src/dbinc/clock.h
|
||||
@@ -44,22 +44,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-/*
|
||||
- * This declaration is POSIX-compatible. Because there are lots of different
|
||||
- * time.h include file patterns out there, it's easier to declare our own name
|
||||
- * in all cases than to try and discover if a system has a struct timespec.
|
||||
- * For the same reason, and because we'd have to #include <sys/time.h> in db.h,
|
||||
- * we don't export any timespec structures in the DB API, even in places where
|
||||
- * it would make sense, like the replication statistics information.
|
||||
- */
|
||||
-typedef struct {
|
||||
- time_t tv_sec; /* seconds */
|
||||
-#ifdef HAVE_MIXED_SIZE_ADDRESSING
|
||||
- int32_t tv_nsec;
|
||||
-#else
|
||||
- long tv_nsec; /* nanoseconds */
|
||||
-#endif
|
||||
-} db_timespec;
|
||||
+#include <time.h>
|
||||
+#define db_timespec struct timespec
|
||||
|
||||
/* Operations on timespecs */
|
||||
#undef timespecclear
|
||||
@@ -0,0 +1,42 @@
|
||||
From 32e5943a3c4637d39e4d65b544dcb99e280210e3 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 23 Jul 2017 10:54:26 -0700
|
||||
Subject: [PATCH] configure: Add explicit tag options to libtool invocation
|
||||
|
||||
This helps cross compile when tag inference via heuristics
|
||||
fail because CC variable is having -fPIE -pie and libtool
|
||||
smartly removes it when building libraries
|
||||
|
||||
Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
dist/configure.ac | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dist/configure.ac b/dist/configure.ac
|
||||
index 689f3b8..9c14bdb 100644
|
||||
--- a/dist/configure.ac
|
||||
+++ b/dist/configure.ac
|
||||
@@ -366,12 +366,12 @@ LIBTOOL="./libtool"
|
||||
|
||||
INSTALLER="\$(LIBTOOL) --mode=install cp -p"
|
||||
|
||||
-MAKEFILE_CC="\$(LIBTOOL) --mode=compile ${MAKEFILE_CC}"
|
||||
-MAKEFILE_SOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK} -avoid-version"
|
||||
-MAKEFILE_CCLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK}"
|
||||
-MAKEFILE_CXX="\$(LIBTOOL) --mode=compile ${MAKEFILE_CXX}"
|
||||
-MAKEFILE_XSOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CXXLINK} -avoid-version"
|
||||
-MAKEFILE_CXXLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CXXLINK}"
|
||||
+MAKEFILE_CC="\$(LIBTOOL) --tag=CC --mode=compile ${MAKEFILE_CC}"
|
||||
+MAKEFILE_SOLINK="\$(LIBTOOL) --tag=CC --mode=link ${MAKEFILE_CCLINK} -avoid-version"
|
||||
+MAKEFILE_CCLINK="\$(LIBTOOL) --tag=CC --mode=link ${MAKEFILE_CCLINK}"
|
||||
+MAKEFILE_CXX="\$(LIBTOOL) --tag=CXX --mode=compile ${MAKEFILE_CXX}"
|
||||
+MAKEFILE_XSOLINK="\$(LIBTOOL) --tag=CXX --mode=link ${MAKEFILE_CXXLINK} -avoid-version"
|
||||
+MAKEFILE_CXXLINK="\$(LIBTOOL) --tag=CXX --mode=link ${MAKEFILE_CXXLINK}"
|
||||
|
||||
|
||||
case "$host_os" in
|
||||
--
|
||||
2.13.3
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
With higher paralelism it sometimes fails with:
|
||||
libtool: link: `util_log.lo' is not a valid libtool object
|
||||
make: *** [db_replicate] Error 1
|
||||
|
||||
Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead]
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
|
||||
Index: db-6.0.30/dist/Makefile.in
|
||||
===================================================================
|
||||
--- db-6.0.30.orig/dist/Makefile.in
|
||||
+++ db-6.0.30/dist/Makefile.in
|
||||
@@ -1041,7 +1041,7 @@ db_recover: db_recover@o@ util_sig@o@ $(
|
||||
db_recover@o@ util_sig@o@ $(DEF_LIB) $(LIBS)
|
||||
$(POSTLINK) $@
|
||||
|
||||
-db_replicate: db_replicate@o@ util_sig@o@ $(DEF_LIB)
|
||||
+db_replicate: db_replicate@o@ util_log@o@ util_sig@o@ $(DEF_LIB)
|
||||
$(CCLINK) -o $@ $(LDFLAGS) \
|
||||
db_replicate@o@ util_log@o@ util_sig@o@ $(DEF_LIB) $(LIBS)
|
||||
$(POSTLINK) $@
|
||||
59
sources/poky/meta/recipes-support/db/db/sequence-type.patch
Normal file
59
sources/poky/meta/recipes-support/db/db/sequence-type.patch
Normal file
@@ -0,0 +1,59 @@
|
||||
configure wants to use host-specific types to get a 64-bit integer in db.h
|
||||
instead of using an alias such as int64_t. This means that the header differs
|
||||
in multilib environments for no good reason, so replace the type with the alias
|
||||
in stdint.h.
|
||||
|
||||
This then breaks the overly complicated type check but as we know that int64_t
|
||||
exists and works, we can just delete that.
|
||||
|
||||
Upstream-Status: Inappropriate [as far as open source community is concerned, upstream is dead]
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
--- a/dist/aclocal/sequence.m4~ 2013-09-09 16:35:02.000000000 +0100
|
||||
+++ b/dist/aclocal/sequence.m4 2017-11-01 13:21:45.472295971 +0000
|
||||
@@ -24 +24 @@
|
||||
- db_cv_seq_type="long"
|
||||
+ db_cv_seq_type="int64_t"
|
||||
@@ -31 +31 @@
|
||||
- db_cv_seq_type="long long"
|
||||
+ db_cv_seq_type="int64_t"
|
||||
@@ -41,38 +41 @@
|
||||
- # Test to see if we can declare variables of the appropriate size
|
||||
- # and format them. If we're cross-compiling, all we get is a link
|
||||
- # test, which won't test for the appropriate printf format strings.
|
||||
- if test "$db_cv_build_sequence" = "yes"; then
|
||||
- AC_TRY_RUN([
|
||||
- main() {
|
||||
- $db_cv_seq_type l;
|
||||
- unsigned $db_cv_seq_type u;
|
||||
- char buf@<:@100@:>@;
|
||||
-
|
||||
- buf@<:@0@:>@ = 'a';
|
||||
- l = 9223372036854775807LL;
|
||||
- (void)snprintf(buf, sizeof(buf), $db_cv_seq_fmt, l);
|
||||
- if (strcmp(buf, "9223372036854775807"))
|
||||
- return (1);
|
||||
- u = 18446744073709551615ULL;
|
||||
- (void)snprintf(buf, sizeof(buf), $db_cv_seq_ufmt, u);
|
||||
- if (strcmp(buf, "18446744073709551615"))
|
||||
- return (1);
|
||||
- return (0);
|
||||
- }],, [db_cv_build_sequence="no"],
|
||||
- AC_TRY_LINK(,[
|
||||
- $db_cv_seq_type l;
|
||||
- unsigned $db_cv_seq_type u;
|
||||
- char buf@<:@100@:>@;
|
||||
-
|
||||
- buf@<:@0@:>@ = 'a';
|
||||
- l = 9223372036854775807LL;
|
||||
- (void)snprintf(buf, sizeof(buf), $db_cv_seq_fmt, l);
|
||||
- if (strcmp(buf, "9223372036854775807"))
|
||||
- return (1);
|
||||
- u = 18446744073709551615ULL;
|
||||
- (void)snprintf(buf, sizeof(buf), $db_cv_seq_ufmt, u);
|
||||
- if (strcmp(buf, "18446744073709551615"))
|
||||
- return (1);
|
||||
- return (0);
|
||||
- ],, [db_cv_build_sequence="no"]))
|
||||
- fi
|
||||
+ db_cv_build_sequence="yes"
|
||||
122
sources/poky/meta/recipes-support/db/db_5.3.28.bb
Normal file
122
sources/poky/meta/recipes-support/db/db_5.3.28.bb
Normal file
@@ -0,0 +1,122 @@
|
||||
# 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),
|
||||
# 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 DB5 can both be installed on the
|
||||
# same system at the same time if really necessary.
|
||||
SECTION = "libs"
|
||||
SUMMARY = "Berkeley Database v5"
|
||||
DESCRIPTION = "Provides the foundational storage services for your application, no matter how demanding and unique your requirements may seem to be"
|
||||
HOMEPAGE = "https://www.oracle.com/database/technologies/related/berkeleydb.html"
|
||||
LICENSE = "Sleepycat"
|
||||
RCONFLICTS:${PN} = "db3"
|
||||
|
||||
CVE_PRODUCT = "oracle_berkeley_db berkeley_db"
|
||||
CVE_VERSION = "11.2.${PV}"
|
||||
|
||||
PE = "1"
|
||||
|
||||
SRC_URI = "https://download.oracle.com/berkeley-db/db-${PV}.tar.gz"
|
||||
SRC_URI += "file://fix-parallel-build.patch \
|
||||
file://0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch \
|
||||
file://0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch \
|
||||
file://sequence-type.patch \
|
||||
file://0001-Fix-libc-compatibility-by-renaming-atomic_init-API.patch \
|
||||
file://0001-clock-Do-not-define-own-timespec.patch \
|
||||
"
|
||||
# We are not interested in official latest 6.x versions;
|
||||
# let's track what debian is using.
|
||||
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/db5.3/"
|
||||
UPSTREAM_CHECK_REGEX = "db5\.3_(?P<pver>\d+(\.\d+)+).+\.orig"
|
||||
|
||||
SRC_URI[md5sum] = "b99454564d5b4479750567031d66fe24"
|
||||
SRC_URI[sha256sum] = "e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=ed1158e31437f4f87cdd4ab2b8613955"
|
||||
|
||||
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 = "-5*.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)
|
||||
DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-compat185 --disable-sql"
|
||||
|
||||
EXTRA_OECONF = "${DB5_CONFIG} --enable-shared --enable-cxx --with-sysroot STRIP=true"
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
PACKAGECONFIG[verify] = "--enable-verify, --disable-verify"
|
||||
PACKAGECONFIG[dbm] = "--enable-dbm,--disable-dbm,"
|
||||
|
||||
EXTRA_AUTORECONF += "--exclude=autoheader -I ${S}/dist/aclocal -I${S}/dist/aclocal_java"
|
||||
AUTOTOOLS_SCRIPT_PATH = "${S}/dist"
|
||||
|
||||
# Cancel the site stuff - it's set for db3 and destroys the
|
||||
# configure.
|
||||
CONFIG_SITE = ""
|
||||
|
||||
oe_runconf:prepend() {
|
||||
. ${S}/dist/RELEASE
|
||||
# Edit version information we couldn't pre-compute.
|
||||
sed -i -e "s/__EDIT_DB_VERSION_FAMILY__/$DB_VERSION_FAMILY/g" \
|
||||
-e "s/__EDIT_DB_VERSION_RELEASE__/$DB_VERSION_RELEASE/g" \
|
||||
-e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
|
||||
-e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
|
||||
-e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
|
||||
-e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
|
||||
-e "s/__EDIT_DB_VERSION_FULL_STRING__/$DB_VERSION_FULL_STRING/g" \
|
||||
-e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
|
||||
-e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" ${S}/dist/configure
|
||||
}
|
||||
|
||||
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}/db51
|
||||
mv ${D}/${includedir}/db.h ${D}/${includedir}/db51/.
|
||||
mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db51/.
|
||||
ln -s db51/db.h ${D}/${includedir}/db.h
|
||||
ln -s db51/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}
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'verify', 'false', 'true', d)}; then
|
||||
rm -f ${D}${bindir}/db_verify
|
||||
fi
|
||||
}
|
||||
|
||||
INSANE_SKIP:${PN} = "dev-so"
|
||||
INSANE_SKIP:${PN}-cxx = "dev-so"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
# many configure tests are failing with gcc-14
|
||||
CFLAGS += "-Wno-error=implicit-int -Wno-error=implicit-function-declaration"
|
||||
BUILD_CFLAGS += "-Wno-error=implicit-int -Wno-error=implicit-function-declaration"
|
||||
Reference in New Issue
Block a user