summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2020-02-01 21:12:10 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2020-02-01 21:12:10 +0000
commit0da94e6962c19e4f0835622bce5082ab4343711b (patch)
treec81dcb269a176726f4eb131e1109659db7de1b0e
parent41e767490df726ff68e82922bb771b63e603cf5c (diff)
downloadpackages-0da94e6962c19e4f0835622bce5082ab4343711b.tar.gz
packages-0da94e6962c19e4f0835622bce5082ab4343711b.tar.bz2
packages-0da94e6962c19e4f0835622bce5082ab4343711b.tar.xz
packages-0da94e6962c19e4f0835622bce5082ab4343711b.zip
system/db: Fix runtime crash with 64-bit time_t
-rw-r--r--system/db/APKBUILD6
-rw-r--r--system/db/time64.patch18
2 files changed, 22 insertions, 2 deletions
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 */