From 0da94e6962c19e4f0835622bce5082ab4343711b Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sat, 1 Feb 2020 21:12:10 +0000 Subject: system/db: Fix runtime crash with 64-bit time_t --- system/db/APKBUILD | 6 ++++-- system/db/time64.patch | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 system/db/time64.patch (limited to 'system') diff --git a/system/db/APKBUILD b/system/db/APKBUILD index d00896e08..587724143 100644 --- a/system/db/APKBUILD +++ b/system/db/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: pkgname=db pkgver=5.3.28 -pkgrel=1 +pkgrel=2 pkgdesc="The Berkeley DB embedded database system" url="https://www.oracle.com/technology/software/products/berkeley-db/index.html" arch="all" @@ -12,6 +12,7 @@ makedepends="" subpackages="$pkgname-dev $pkgname-doc $pkgname-utils $pkgname-c++:cxx" source="https://download.oracle.com/berkeley-db/db-$pkgver.tar.gz atomics.patch + time64.patch " prepare() { @@ -58,4 +59,5 @@ cxx() { } sha512sums="e91bbe550fc147a8be7e69ade86fdb7066453814971b2b0223f7d17712bd029a8eff5b2b6b238042ff6ec1ffa6879d44cb95c5645a922fee305c26c3eeaee090 db-5.3.28.tar.gz -8ba96cfc3e484a839b8651214f0769b35273c6235de7e53d5118eb0347f5a477f75e3336a12f1399b7748c6b6ab95aec39c8b813d7b227dd61f37ed4ab52f7d5 atomics.patch" +8ba96cfc3e484a839b8651214f0769b35273c6235de7e53d5118eb0347f5a477f75e3336a12f1399b7748c6b6ab95aec39c8b813d7b227dd61f37ed4ab52f7d5 atomics.patch +5712bc36bd362820912bc899aff9738318b6f920e9fa71bef33c0d5c62dff7943827460b7b2194019738acfac2713954d01eab68c68ca02473f8d3f1a0950c48 time64.patch" diff --git a/system/db/time64.patch b/system/db/time64.patch new file mode 100644 index 000000000..12ef0508a --- /dev/null +++ b/system/db/time64.patch @@ -0,0 +1,18 @@ +By the comment's own admission, this cannot affect on-disk nor ABI because +'long' varies per architecture. So, this change is always correct. + +--- db-5.3.28/src/dbinc/clock.h.old 2013-09-09 15:35:08.000000000 +0000 ++++ db-5.3.28/src/dbinc/clock.h 2020-01-31 19:22:11.630000000 +0000 +@@ -54,11 +54,7 @@ + */ + typedef struct { + time_t tv_sec; /* seconds */ +-#ifdef HAVE_MIXED_SIZE_ADDRESSING +- int32_t tv_nsec; +-#else +- long tv_nsec; /* nanoseconds */ +-#endif ++ time_t tv_nsec; /* nanoseconds */ + } db_timespec; + + /* Operations on timespecs */ -- cgit v1.2.3-70-g09d2