postgresql: Build with bundled time zone database
This commit is contained in:
parent
19715f260a
commit
b69a8220c9
@ -8,18 +8,27 @@ TERMUX_PKG_DEPENDS="openssl, libcrypt, readline, libandroid-shmem"
|
|||||||
# - pgac_cv_prog_cc_ldflags__Wl___as_needed: Inform that the linker supports as-needed. It's
|
# - pgac_cv_prog_cc_ldflags__Wl___as_needed: Inform that the linker supports as-needed. It's
|
||||||
# not stricly necessary but avoids unnecessary linking of binaries.
|
# not stricly necessary but avoids unnecessary linking of binaries.
|
||||||
# - USE_UNNAMED_POSIX_SEMAPHORES: Avoid using System V semaphores which are disabled on Android.
|
# - USE_UNNAMED_POSIX_SEMAPHORES: Avoid using System V semaphores which are disabled on Android.
|
||||||
# - with-system-tzdata: Doesn't currently work as Android uses a single timezone file. But
|
# - ZIC=...: The zic tool is used to build the time zone database bundled with postgresql.
|
||||||
# if not specified the build uses zic to build timezone files using hard links, which doesn't
|
# We specify a binary built in termux_step_host_build which has been patched to use symlinks
|
||||||
# work on Android 6.0+. TODO: Either patch to work with the combined timezone file, or
|
# over hard links (which are not supported as of Android 6.0+).
|
||||||
# replace the hard links with symlinks.
|
# There exists a --with-system-tzdata configure flag, but that does not work here as Android
|
||||||
|
# uses a custom combined tzdata file.
|
||||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||||
pgac_cv_prog_cc_ldflags__Wl___as_needed=yes
|
pgac_cv_prog_cc_ldflags__Wl___as_needed=yes
|
||||||
USE_UNNAMED_POSIX_SEMAPHORES=1
|
USE_UNNAMED_POSIX_SEMAPHORES=1
|
||||||
--with-openssl
|
--with-openssl
|
||||||
--with-system-tzdata=/system/usr/share/zoneinfo
|
ZIC=$TERMUX_PKG_HOSTBUILD_DIR/src/timezone/zic
|
||||||
"
|
"
|
||||||
TERMUX_PKG_EXTRA_MAKE_ARGS=" -s"
|
TERMUX_PKG_EXTRA_MAKE_ARGS=" -s"
|
||||||
TERMUX_PKG_RM_AFTER_INSTALL="lib/libecpg* bin/ecpg share/man/man1/ecpg.1"
|
TERMUX_PKG_RM_AFTER_INSTALL="lib/libecpg* bin/ecpg share/man/man1/ecpg.1"
|
||||||
|
TERMUX_PKG_HOSTBUILD=yes
|
||||||
|
|
||||||
|
termux_step_host_build() {
|
||||||
|
# Build a native zic binary which we have patched to
|
||||||
|
# use symlinks instead of hard links.
|
||||||
|
$TERMUX_PKG_SRCDIR/configure
|
||||||
|
make ./src/timezone/zic
|
||||||
|
}
|
||||||
|
|
||||||
termux_step_post_make_install() {
|
termux_step_post_make_install() {
|
||||||
# Man pages are not installed by default:
|
# Man pages are not installed by default:
|
||||||
|
@ -1,11 +1,24 @@
|
|||||||
diff -u -r ../postgresql-9.6.2/src/timezone/zic.c ./src/timezone/zic.c
|
diff -u -r ../postgresql-9.6.2/src/timezone/zic.c ./src/timezone/zic.c
|
||||||
--- ../postgresql-9.6.2/src/timezone/zic.c 2017-02-06 21:45:25.000000000 +0000
|
--- ../postgresql-9.6.2/src/timezone/zic.c 2017-02-06 22:45:25.000000000 +0100
|
||||||
+++ ./src/timezone/zic.c 2017-03-06 02:22:14.841276917 +0000
|
+++ ./src/timezone/zic.c 2017-03-08 01:51:31.199705267 +0100
|
||||||
@@ -881,8 +881,16 @@
|
@@ -19,6 +19,12 @@
|
||||||
|
#include "private.h"
|
||||||
|
#include "tzfile.h"
|
||||||
|
|
||||||
|
+/*
|
||||||
|
+ * Avoid the qsort->pg_qsort define to more easily build
|
||||||
|
+ * a native patched zic tool.
|
||||||
|
+ */
|
||||||
|
+#undef qsort
|
||||||
|
+
|
||||||
|
#define ZIC_VERSION_PRE_2013 '2'
|
||||||
|
#define ZIC_VERSION '3'
|
||||||
|
|
||||||
|
@@ -881,8 +887,16 @@
|
||||||
progname, directory, fromfield, strerror(EPERM));
|
progname, directory, fromfield, strerror(EPERM));
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
+#ifdef __ANDROID__
|
+#if 1
|
||||||
+ /*
|
+ /*
|
||||||
+ * Android does not support hard links starting from 6.0
|
+ * Android does not support hard links starting from 6.0
|
||||||
+ * so always use symlinks.
|
+ * so always use symlinks.
|
Loading…
x
Reference in New Issue
Block a user