4dcaf6681d
Three reasons: 1. build-package.sh doesn't have the facility to do this: $ tar -xf /sdcard/Download/postgresql-9.6_9.6.7-0+deb9u1.debian.tar.xz $ cd debian/ $ grep extension postgresql-9.6.install postgresql-contrib-9.6.install postgresql-9.6.install:usr/share/postgresql/*/extension/plpgsql* postgresql-contrib-9.6.install:usr/share/postgresql/*/extension/* $ while initdb requires extension/plpgsql*. 2. postgresql-contrib takes up only 492kB out of 17.3MB $ pkg unins postgresql Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: libandroid-shmem Use 'apt autoremove' to remove it. The following packages will be REMOVED: postgresql postgresql-contrib 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. After this operation, 17.3 MB disk space will be freed. Do you want to continue? [Y/n] n Abort. $ pkg unins postgresql-contrib Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: postgresql-contrib 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 492 kB disk space will be freed. Do you want to continue? [Y/n] n Abort. $ 3. Both Ubuntu and Debian has stopped splitting postgresql-contrib. It is now only a virtual package provided by postgresql in the 10 branch.
58 lines
2.2 KiB
Bash
58 lines
2.2 KiB
Bash
TERMUX_PKG_HOMEPAGE=https://www.postgresql.org
|
|
TERMUX_PKG_DESCRIPTION="Object-relational SQL database"
|
|
TERMUX_PKG_MAINTAINER='Vishal Biswas @vishalbiswas'
|
|
TERMUX_PKG_VERSION=10.3
|
|
TERMUX_PKG_REVISION=2
|
|
TERMUX_PKG_SHA256=6ea268780ee35e88c65cdb0af7955ad90b7d0ef34573867f223f14e43467931a
|
|
TERMUX_PKG_SRCURL=https://ftp.postgresql.org/pub/source/v$TERMUX_PKG_VERSION/postgresql-$TERMUX_PKG_VERSION.tar.bz2
|
|
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
|
|
# not stricly necessary but avoids unnecessary linking of binaries.
|
|
# - USE_UNNAMED_POSIX_SEMAPHORES: Avoid using System V semaphores which are disabled on Android.
|
|
# - ZIC=...: The zic tool is used to build the time zone database bundled with postgresql.
|
|
# We specify a binary built in termux_step_host_build which has been patched to use symlinks
|
|
# over hard links (which are not supported as of Android 6.0+).
|
|
# 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="
|
|
pgac_cv_prog_cc_ldflags__Wl___as_needed=yes
|
|
USE_UNNAMED_POSIX_SEMAPHORES=1
|
|
--with-openssl
|
|
ZIC=$TERMUX_PKG_HOSTBUILD_DIR/src/timezone/zic
|
|
"
|
|
TERMUX_PKG_EXTRA_MAKE_ARGS=" -s"
|
|
TERMUX_PKG_RM_AFTER_INSTALL="lib/libecpg* bin/ecpg share/man/man1/ecpg.1"
|
|
TERMUX_PKG_HOSTBUILD=yes
|
|
TERMUX_PKG_BREAKS="postgresql-contrib (<= 10.3-1)"
|
|
TERMUX_PKG_REPLACES="postgresql-contrib (<= 10.3-1)"
|
|
|
|
termux_step_host_build() {
|
|
# Build a native zic binary which we have patched to
|
|
# use symlinks instead of hard links.
|
|
$TERMUX_PKG_SRCDIR/configure --without-readline
|
|
make ./src/timezone/zic
|
|
}
|
|
|
|
termux_step_post_make_install() {
|
|
# Man pages are not installed by default:
|
|
make -C doc/src/sgml install-man
|
|
|
|
for contrib in \
|
|
hstore \
|
|
pageinspect \
|
|
pgcrypto \
|
|
pgrowlocks \
|
|
pg_freespacemap \
|
|
pg_stat_statements\
|
|
fuzzystrmatch \
|
|
; do
|
|
(cd contrib/$contrib && make -s -j $TERMUX_MAKE_PROCESSES install)
|
|
done
|
|
}
|
|
|
|
termux_step_post_massage() {
|
|
# Remove bin/pg_config so e.g. php doesn't try to use it, which won't
|
|
# work as it's a cross-compiled binary:
|
|
rm $TERMUX_PREFIX/bin/pg_config
|
|
}
|