aboutsummaryrefslogtreecommitdiffstats
path: root/main/postgresql14/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/postgresql14/APKBUILD')
-rw-r--r--main/postgresql14/APKBUILD530
1 files changed, 0 insertions, 530 deletions
diff --git a/main/postgresql14/APKBUILD b/main/postgresql14/APKBUILD
deleted file mode 100644
index 26ed71d5174..00000000000
--- a/main/postgresql14/APKBUILD
+++ /dev/null
@@ -1,530 +0,0 @@
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-# Contributor: G.J.R. Timmer <gjr.timmer@gmail.com>
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-_pkgname=postgresql
-pkgver=14.1
-pkgrel=7
-_majorver=${pkgver%%.*}
-# Should this aport provide libpq* and libecpg*? true/false
-# Exactly one postgresql aport must be the default one!
-_default_ver=true
-pkgname=$_pkgname$_majorver
-pkgdesc="A sophisticated object-relational DBMS, version $_majorver"
-url="https://www.postgresql.org/"
-arch="all"
-license="PostgreSQL"
-_llvmver=12
-depends="$pkgname-client postgresql-common tzdata"
-depends_dev="
- libpq-dev
- libecpg-dev
- clang
- icu-dev
- llvm$_llvmver
- openssl1.1-compat-dev
- "
-checkdepends="diffutils"
-makedepends="$depends_dev
- libxml2-dev
- linux-headers
- llvm$_llvmver-dev
- openldap-dev
- perl-dev
- python3-dev
- readline-dev
- tcl-dev
- util-linux-dev
- zlib-dev
- bison flex
- "
-pkgusers="postgres"
-pkggroups="postgres"
-install="$pkgname.post-install $pkgname.pre-deinstall"
-provider_priority=$_majorver
-provides="postgresql"
-replaces="postgresql" # for backward compatibility
-$_default_ver && subpackages="
- libpq
- libpq-dev:libpq_dev
- libecpg
- libecpg-dev:libecpg_dev
- "
-subpackages="
- $subpackages
- $pkgname-client
- $pkgname-jit
- $pkgname-contrib
- $pkgname-plperl
- $pkgname-plperl-contrib:plperl_contrib
- $pkgname-plpython3
- $pkgname-plpython3-contrib:plpython3_contrib
- $pkgname-pltcl
- $pkgname-contrib-jit:contrib_jit
- $pkgname-dev
- $pkgname-doc
- $pkgname-openrc
- "
-source="https://ftp.postgresql.org/pub/source/v$pkgver/postgresql-$pkgver.tar.bz2
- initdb.patch
- perl-rpath.patch
- per-version-dirs.patch
- unix_socket_directories.patch
- disable-broken-tests.patch
- disable-test-collate.icu.utf8.patch
- disable-html-docs.patch
- remove-libecpg_compat.patch
- czech-snowball-stemmer.patch
- make-split-headers.patch
- jit-datalayout-mismatch-on-s390x-and-x86.patch
- pg_config-add-major-version.patch
- libpgport-pkglibdir.patch.txt
- external-libpq.patch.txt
-
- pltcl_create_tables.sql
- "
-builddir="$srcdir/$_pkgname-$pkgver"
-
-# secfixes:
-# 14.1-r0:
-# - CVE-2021-23214
-# - CVE-2021-23222
-# 13.4-r0:
-# - CVE-2021-3677
-# 13.3-r0:
-# - CVE-2021-32027
-# - CVE-2021-32028
-# - CVE-2021-32029
-# 13.2-r0:
-# - CVE-2021-3393
-# - CVE-2021-20229
-# 12.5-r0:
-# - CVE-2020-25694
-# - CVE-2020-25695
-# - CVE-2020-25696
-# 12.4-r0:
-# - CVE-2020-14349
-# - CVE-2020-14350
-# 12.2-r0:
-# - CVE-2020-1720
-# 11.5-r0:
-# - CVE-2019-10208
-# - CVE-2019-10209
-# 11.4-r0:
-# - CVE-2019-10164
-# 11.3-r0:
-# - CVE-2019-10129
-# - CVE-2019-10130
-# 11.1-r0:
-# - CVE-2018-16850
-# 10.5-r0:
-# - CVE-2018-10915
-# - CVE-2018-10925
-# 10.4-r0:
-# - CVE-2018-1115
-# 10.3-r0:
-# - CVE-2018-1058
-# 10.2-r0:
-# - CVE-2018-1052
-# - CVE-2018-1053
-# 10.1-r0:
-# - CVE-2017-15098
-# - CVE-2017-15099
-# 9.6.4-r0:
-# - CVE-2017-7546
-# - CVE-2017-7547
-# - CVE-2017-7548
-# 9.6.3-r0:
-# - CVE-2017-7484
-# - CVE-2017-7485
-# - CVE-2017-7486
-
-_bindir=usr/libexec/$pkgname
-_datadir=usr/share/$pkgname
-_docdir=usr/share/doc/$pkgname
-_mandir=$_datadir/man
-_includedir=usr/include/postgresql
-# Directory for server-related libraries. This is hard-coded in
-# per-version-dirs.patch.
-_srvlibdir=usr/lib/$pkgname
-
-# Programs to be included in the -client subpackage.
-# TODO: This was probably originally copied from Debian and I have no idea
-# why these are considered as front-end (client) programs and the rest of
-# the programs are not. So it should be reviewed.
-_client_cmds="
- clusterdb
- createdb
- createuser
- dropdb
- dropuser
- pg_amcheck
- pg_basebackup
- pg_dump
- pg_dumpall
- pg_isready
- pg_receivewal
- pg_recvlogical
- pg_restore
- pg_verifybackup
- pgbench
- psql
- reindexdb
- vacuumdb
- "
-
-prepare() {
- default_prepare
-
- if $_default_ver; then
- cp -rl "$builddir" "$builddir-ifaces"
- else
- msg 'external-libpq.patch'
- patch -p1 < "$srcdir"/external-libpq.patch.txt
- fi
- # Note: This must be applied after clonning $builddir-ifaces.
- patch -p1 < "$srcdir"/libpgport-pkglibdir.patch.txt
-}
-
-build() {
- export PYTHON=/usr/bin/python3
- export CFLAGS="${CFLAGS/-Os/-O2}"
- export CPPFLAGS="${CPPFLAGS/-Os/-O2}"
-
- _configure --with-ldap
- make world
-
- if $_default_ver; then
- cd "$builddir-ifaces"
-
- _configure --without-ldap
- local dir; for dir in include common port interfaces bin/pg_config; do
- make -C src/$dir
- done
- fi
-}
-
-_configure() {
- local _extra_opts
- # When disable-spinlocks is no longer required - check postgresql-bdr package.
- case "$CARCH" in
- riscv64) _extra_opts='--disable-spinlocks';;
- esac
-
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --bindir=/$_bindir \
- --datarootdir=/usr/share \
- --datadir=/$_datadir \
- --docdir=/$_docdir \
- --includedir=/$_includedir \
- --libdir=/usr/lib \
- --mandir=/$_mandir \
- --sysconfdir=/etc/postgresql \
- --disable-rpath \
- --with-system-tzdata=/usr/share/zoneinfo \
- --with-libxml \
- --with-openssl \
- --with-uuid=e2fs \
- --with-llvm \
- --with-icu \
- --with-perl \
- --with-python \
- --with-tcl \
- $_extra_opts \
- "$@"
-}
-
-check() {
- _run_tests src/test
- _run_tests src/pl
- _run_tests contrib
-}
-
-package() {
- make DESTDIR="$pkgdir" install install-docs
-
- if $_default_ver; then
- cd "$builddir-ifaces"
-
- # Override libpq and libecpg files with the build without LDAP support.
- local dir; for dir in common port interfaces bin/pg_config; do
- make -C src/$dir DESTDIR="$pkgdir" bindir=/usr/bin install
- done
- make -C src/include DESTDIR="$pkgdir" install-interfaces
- fi
-
- cd "$pkgdir"
-
- # Duplicate of usr/bin/ecpg.
- rm -f ./$_bindir/ecpg
-
- mkdir -p ./usr/bin
- ln -s /$_bindir/postgres ./usr/bin/postgres$_majorver
-
- # This file is used by pg_versions and init script.
- echo "$_majorver" > ./$_bindir/PG_VERSION
-
- install -d -m750 -o postgres -g postgres \
- ./etc/postgresql$_majorver \
- ./var/lib/postgresql \
- ./var/log/postgresql
-
- local server_cmds=$(_setdiff "$(ls -1 $_bindir)" "$_client_cmds pg_config ecpg PG_VERSION")
- [ "$server_cmds" ] || die 'package: variable server_cmds is empty'
-
- # These commands are symlinked to /usr/bin by pg_versions script after
- # installation.
- provides="$provides $(echo "$server_cmds" | sed 's/^/cmd:&/')"
-}
-
-libpq() {
- pkgdesc="PostgreSQL client library"
- depends=""
- replaces=""
-
- amove usr/lib/libpq.so.*
-}
-
-libpq_dev() {
- pkgdesc="PostgreSQL client library (development files)"
- depends=""
- replaces=""
-
- amove usr/bin/pg_config
-
- amove $_includedir/internal/*
- amove $_includedir/libpq-*.h
- amove $_includedir/libpq/*
- amove $_includedir/pg_config*.h
- amove $_includedir/postgres_ext.h
-
- amove usr/lib/libpq.*
- amove usr/lib/libpgcommon*.a
- amove usr/lib/libpgport*.a
- amove usr/lib/pkgconfig/libpq.pc
-}
-
-libecpg() {
- pkgdesc="ECPG - Embedded SQL in C"
- depends=""
- provides="postgresql-libs" # for backward compatibility (Alpine <3.15)
- replaces="$provides" # for backward compatibility (Alpine <3.15)
-
- amove usr/lib/libecpg.so.*
- amove usr/lib/libpgtypes.so.*
-}
-
-libecpg_dev() {
- pkgdesc="ECPG - Embedded SQL in C (development files)"
- depends="libpq-dev=$pkgver-r$pkgrel"
- replaces=""
-
- amove usr/bin/ecpg
-
- amove $_includedir/ecpg*.h
- amove $_includedir/informix/*
- amove $_includedir/pgtypes*.h
- amove $_includedir/sql3types.h
- amove $_includedir/sqlca.h
- amove $_includedir/sqlda*.h
-
- amove usr/lib/libecpg.*
- amove usr/lib/libpgtypes.*
- amove usr/lib/pkgconfig/libecpg.pc
- amove usr/lib/pkgconfig/libpgtypes.pc
-}
-
-client() {
- pkgdesc="PostgreSQL client"
- depends="postgresql-common"
- _subpkg_common
-
- local cmd; for cmd in $_client_cmds; do
- amove $_bindir/$cmd
- # These commands are symlinked to /usr/bin by pg_versions script after
- # installation.
- provides="$provides cmd:$cmd"
- done
- amove $_bindir/PG_VERSION
-}
-
-jit() {
- pkgdesc="Just-in-time compilation support for PostgreSQL"
- depends="$pkgname=$pkgver-r$pkgrel"
- _subpkg_common
-
- amove $_srvlibdir/bitcode/*
- amove $_srvlibdir/llvmjit.so
- amove $_srvlibdir/llvmjit_types.bc
-}
-
-contrib() {
- pkgdesc="Extension modules distributed with PostgreSQL"
- depends="$pkgname=$pkgver-r$pkgrel"
- _subpkg_common
-
- cd "$builddir"
-
- # Avoid installing plperl and plpython extensions, these will be
- # installed into separate subpackages.
- sed -Ei -e 's/(.*_plperl)/#\1/' \
- -e 's/(.*_plpython)/#\1/' \
- contrib/Makefile
-
- make -C contrib DESTDIR="$subpkgdir" install
-
- _contrib_common
-
- provides="$provides $(ls -1 "$subpkgdir"/$_bindir | sed 's/^/cmd:&/')"
-}
-
-pltcl() {
- pkgdesc="PL/Tcl procedural language for PostgreSQL"
- depends="$pkgname=$pkgver-r$pkgrel pgtcl"
- _subpkg_common
-
- amove $_srvlibdir/pltcl.so
- amove $_datadir/extension/pltcl*
-
- install -m 644 "$srcdir"/pltcl_create_tables.sql -t "$subpkgdir"/$_datadir/
-}
-
-plperl() {
- pkgdesc="PL/Perl procedural language for PostgreSQL"
- depends="$pkgname=$pkgver-r$pkgrel"
- _subpkg_common
-
- amove $_srvlibdir/plperl.so
- amove $_datadir/extension/plperl*
-}
-
-plperl_contrib() {
- _plcontrib plperl "PL/Perl"
-
- cd "$builddir"
- make -C contrib/hstore_plperl DESTDIR="$subpkgdir" install
-
- _contrib_common
-}
-
-plpython3() {
- pkgdesc="PL/Python3 procedural language for PostgreSQL"
- depends="$pkgname=$pkgver-r$pkgrel python3"
- _subpkg_common
-
- amove $_srvlibdir/plpython3.so
- amove $_datadir/extension/plpython*
-}
-
-plpython3_contrib() {
- _plcontrib plpython3 "PL/Python 3"
-
- cd "$builddir"
- make -C contrib/hstore_plpython DESTDIR="$subpkgdir" install
- make -C contrib/ltree_plpython DESTDIR="$subpkgdir" install
-
- cd "$subpkgdir"/$_datadir/extension/
- rm ./*plpython2* ./*plpythonu*
-
- _contrib_common
-}
-
-contrib_jit() {
- pkgdesc="Extension modules distributed with PostgreSQL (JIT support)"
- depends="$pkgname-contrib=$pkgver-r$pkgrel"
- install_if="$pkgname-jit $pkgname-contrib=$pkgver-r$pkgrel"
- _subpkg_common
-
- amove $_srvlibdir/bitcode/*
-}
-
-dev() {
- default_dev
- _subpkg_common
- replaces=""
-
- amove $_srvlibdir/pgxs/*
-}
-
-doc() {
- default_doc
- _subpkg_common
-
- amove $_mandir
-}
-
-openrc() {
- default_openrc
- depends="postgresql-common-openrc"
-
- mkdir -p "$subpkgdir"
-}
-
-_plcontrib() {
- local subname="$1"
- pkgdesc="$2 extension modules distributed with PostgreSQL"
- depends="$pkgname-$subname=$pkgver-r$pkgrel"
- install_if="$pkgname-$subname=$pkgver-r$pkgrel $pkgname-contrib=$pkgver-r$pkgrel"
- _subpkg_common
-}
-
-_subpkg_common() {
- provides="postgresql${subpkgname#$pkgname}"
- replaces="$provides" # for backward compatibility
-}
-
-_contrib_common() {
- # Move headers, bitcode and docs from subpackage back to pkgdir, so it
- # can be catched by subsequent split functions.
- local dir; for dir in $_includedir $_srvlibdir/bitcode $_docdir; do
- [ -d "$subpkgdir"/$dir ] || continue
-
- mkdir -p "$pkgdir"/$dir
- cp -rf "$subpkgdir"/$dir/* "$pkgdir"/$dir/
- rm -rf "$subpkgdir"/$dir/*
- rmdir -p "$subpkgdir"/$dir || true
- done
-}
-
-_run_tests() {
- local path="$1"; shift
-
- msg "Running test suite at $path..."
- # Note: some tests fail when running in parallel.
- make -k -j 1 -C "$path" "$@" check MAX_CONNECTIONS=5 || {
- printf "\n%s\n\n" "Trying to find all regression.diffs files in build directory..." >&2
- find "$path" -name regression.diffs | while read -r file; do
- echo "=== test failure: $file ===" >&2
- cat "$file" >&2
- done
- return 1
- }
-}
-
-# $1: whitespace-separated items of set A
-# $2: whitespace-separated items of set B
-# stdout: newline-separated items of A - B
-_setdiff() {
- python3 -c 'import sys;print("\n".join(set(sys.argv[1].split()).difference(set(sys.argv[2].split()))))' "$@"
-}
-
-sha512sums="
-4a0bec157d5464bb9e5f5c0eb0efdede55526e03f6f4d660b87d161a47705eb152fa0878960b1581bce42a5ed28a1f457825ea54e8d22e34b5b8eb36473ceefd postgresql-14.1.tar.bz2
-73080f61ae274a214966d2d010de49c8c90eb3180e4f56d86a9e23063eaddbe7f8d2c40ed414591c16bc9cfe88577866af2a965c2b6effb54965d19ef96a3fa9 initdb.patch
-27e00b58fe5c3899c66fc0dde51846c14701bcfedd132b106d676783ba603e8cbdc6e620f29b52dc892bdaa9302052788cf5e575a1659f61c017a12e0d2ee4d0 perl-rpath.patch
-92d28f91b57a01afc81a00d386e87b9e2aa812f341a1578f262af372ee905530205592eda595111827582acceacd1bf244d1df130330003f05e74e4ddb5a7c4f per-version-dirs.patch
-d0040599d7646b709af4e3413bf0c228090f256395e806f3fee230ccc6037ed9c0df1cd160d01b6a73b25a742fdd3fb070733a14a78f53d297fbdbbb44f6f878 unix_socket_directories.patch
-c4179fcd8b71791cdc41ea7b622cf82e9bd42ac1de66999234b98a83c0c508c79c492a9301274fe859c06a3f1a8b17b53ab97541ab76801a985f8f0b9b8716e7 disable-broken-tests.patch
-30ce932ca34ffcd78ec20e7ead09faa3abe147faea776e073628985c7d9aa3a40b1e6f2ee681a0ffe5dc502770eea333cb752ed34c5471a9cee663bc5f6225e3 disable-test-collate.icu.utf8.patch
-2e33e1ae38d60e0daf3ed18e6eaa9ddf6762b4b1bb7e51f1d2690e3df9d602aa1a700e603ba3ee69314a75a963131c7dc67c1b1f8b7eb5564e9c4253e81a4db4 disable-html-docs.patch
-d8eb4274a54b94bed4a2ded7ae775c5a95ca0f051b831b859ccf78bf6d2ea6fe89a9a0611771f6ad85573995a7e3af1fdf5859e20cae3267a52239f12e1b61c3 remove-libecpg_compat.patch
-673707b331cd09c105d18f39e83ec39371886d5d8cf706b6ebbd30ace294fa3377c391bea1ab409c001644c90ac718e3250cbc4acd9224bc0e7ac1f86c832424 czech-snowball-stemmer.patch
-5262f4944844bccc839c4441570b9eb2e0792390234ebfdb8ebb7b83380ce5f5de84b038cb03045526da202a185af9c3972c2ae1b9e0e743a95c6e84f4621cf9 make-split-headers.patch
-c24986becfd73546a062612335e53b4da34829e42a0c30e85ed7481924f13b1fd0a0e5079d680905a52afea1e99f2210cc3692c529a34a74cd6961c88cce9163 jit-datalayout-mismatch-on-s390x-and-x86.patch
-7790e4e4374f7bdc6b4484ba87a5fa709d30d3cbdce61ee7bf9c5dfce40cb51c7bd54ab42f4050fb48eede08ef573624d819128e57cc8c976e01202854740308 pg_config-add-major-version.patch
-f8ed2b7b96fd22cd87c982151e659d82bcae10033a97f403f7847fce6daa8fc580e998cfb3813af9cb59a12f0c6bcc276397c28b1fc48321eed8c7ba5f3f92ed libpgport-pkglibdir.patch.txt
-6078defb3da67e7df96665cc130d32b69eebfcaf49d92eef368ea8eea8bb311fab56064c104bc97f53da9cd925301bef696b506af33e0b66d65bc6cd41ec7499 external-libpq.patch.txt
-5c9bfd9e295dcf678298bf0aa974347a7c311d6e7c2aa76a6920fcb751d01fd1ab77abbec11f3c672f927ad9deaa88e04e370c0b5cd1b60087554c474b748731 pltcl_create_tables.sql
-"