# Maintainer: Jakub Jirutka pkgname=postgresql pkgver=9.6.10 pkgrel=0 pkgdesc="A sophisticated object-relational DBMS" url="http://www.postgresql.org/" arch="all" license="PostgreSQL" depends="postgresql-client" install="$pkgname.pre-upgrade $pkgname-contrib.post-upgrade" pkgusers="postgres" pkggroups="postgres" depends_dev="libressl-dev" makedepends="$depends_dev libedit-dev zlib-dev libxml2-dev util-linux-dev openldap-dev" subpackages="$pkgname-contrib $pkgname-dev $pkgname-doc libpq $pkgname-libs $pkgname-client" patches="initdb.patch" source="https://ftp.postgresql.org/pub/source/v$pkgver/$pkgname-$pkgver.tar.bz2 $patches $pkgname.initd $pkgname.confd pg-restore.initd pg-restore.confd " builddir="$srcdir/$pkgname-$pkgver" # secfixes: # 9.6.10-r0: # - CVE-2018-10915 # - CVE-2018-10925 # 9.6.9-r0: # - CVE-2018-1115 # 9.6.8-r0: # - CVE-2018-1058 # 9.6.7-r0: # - CVE-2018-1053 # 9.6.6-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 prepare() { default_prepare || return 1 cd "$builddir" # sanity check of conf.d ( . "$srcdir"/postgresql.confd _datadir=/var/lib/postgresql/${pkgver%.*}/data if [ "$_datadir" != "$PGDATA" ]; then die "PGDATA is $PGDATA while $_datadir is expected" fi ) || return 1 } build() { cd "$builddir" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --mandir=/usr/share/man \ --with-ldap \ --with-libedit-preferred \ --with-libxml \ --with-openssl \ --with-uuid=e2fs \ --disable-rpath \ || return 1 make world || return 1 } package() { cd "$builddir" make DESTDIR="$pkgdir" install install-docs || return 1 install -d -m755 -o postgres -g postgres \ "$pkgdir"/var/lib/postgresql || return 1 install -D -m755 "$srcdir"/postgresql.initd \ "$pkgdir"/etc/init.d/postgresql || return 1 install -D -m644 "$srcdir"/postgresql.confd \ "$pkgdir"/etc/conf.d/postgresql || return 1 install -D -m755 "$srcdir"/pg-restore.initd \ "$pkgdir"/etc/init.d/pg-restore || return 1 install -D -m644 "$srcdir"/pg-restore.confd \ "$pkgdir"/etc/conf.d/pg-restore || return 1 } dev() { default_dev || return 1 mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib/postgresql mv "$pkgdir"/usr/bin/pg_config \ "$pkgdir"/usr/bin/ecpg \ "$subpkgdir"/usr/bin/ || return 1 mv "$pkgdir"/usr/lib/postgresql/pgxs \ "$subpkgdir"/usr/lib/postgresql/ || return 1 } libpq() { pkgdesc="PostgreSQL libraries" depends="" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libpq.so.* "$subpkgdir"/usr/lib/ } libs() { depends="" default_libs } client() { pkgdesc="PostgreSQL client" depends="" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/psql "$subpkgdir"/usr/bin/ } contrib() { depends="" pkgdesc="Extension modules distributed with PostgreSQL" cd "$builddir" make DESTDIR="$subpkgdir" -C contrib install || return 1 mv "$subpkgdir"/usr/share/doc/postgresql/extension \ "$pkgdir"/usr/share/doc/postgresql/ || return 1 rmdir -p "$subpkgdir"/usr/share/doc/postgresql || true } sha512sums="960a32c86466f9d5f5491ef163f5c4a99cb5de7312d13371e2223b1d156e31eb2a23ed478e6654bcbb7bd19db9470aaf63473ff661c11c60971b92af5e9daf82 postgresql-9.6.10.tar.bz2 0b88eee78380ed6cf543c851ac1cea5fc50bb6ef1bb51e03694003f43d2bf4e117ff06657f958d0e9c00ace3b8a6bab6ed0bd017d23f80cfd203dab33da81d46 initdb.patch af37b100cc67769817e4c9e997abecf50475d7f0bf9b0f1d51bf8454d45abd6c87d5d315ed6cafd14e0dd059e96723a6203b756236070d12968816666e63e522 postgresql.initd 5b2fe18e38b5bef6fc289ff7701148dd5608d98002db046b183d715b718f96e22c01ba0adc5b590c386694c3eefae1a0a30425b985965ed2238e3858923b91ec postgresql.confd f5a1cba051e7d846c2d16703514601cb25729ed96b677c9bd0c199d64552120a8b14b238af01917fdb87106681e12dee6fff7447558155ba273e4f96be5e2892 pg-restore.initd c14a5684e914abb3b0ee71bbf15eed71a9264deacaa404a6e3af6bfc330d93e7598624d0ed11a94263106cc660f7f54c8ff57e759033cf606a795f69ff6c1c7c pg-restore.confd"