diff options
Diffstat (limited to 'abs/extra/postgresql')
-rw-r--r-- | abs/extra/postgresql/PKGBUILD | 79 | ||||
-rw-r--r-- | abs/extra/postgresql/build.patch | 11 | ||||
-rwxr-xr-x | abs/extra/postgresql/postgresql | 59 | ||||
-rw-r--r-- | abs/extra/postgresql/postgresql.confd | 4 | ||||
-rw-r--r-- | abs/extra/postgresql/postgresql.pam | 3 |
5 files changed, 156 insertions, 0 deletions
diff --git a/abs/extra/postgresql/PKGBUILD b/abs/extra/postgresql/PKGBUILD new file mode 100644 index 0000000..1fda9a4 --- /dev/null +++ b/abs/extra/postgresql/PKGBUILD @@ -0,0 +1,79 @@ +# $Id: PKGBUILD 27762 2009-02-25 16:29:49Z douglas $ +# Maintainer: Paul Mattal <paul@archlinux.org> + +pkgname=postgresql +pkgver=8.3.6 +pkgrel=1 +pkgdesc="A sophisticated object-relational DBMS" +arch=(i686 x86_64) +license=('BSD') +backup=('etc/conf.d/postgresql' '/etc/pam.d/postgresql') +url="http://www.postgresql.org/" +depends=("postgresql-libs>=$pkgver" "libxml2") +options=('!makeflags') +source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 \ + postgresql postgresql.confd build.patch postgresql.pam) + +build() { + cd ${startdir}/src/$pkgname-$pkgver || return 1 + + # patch to remove regress/test make target (won't build with it present) + patch -Np1 -i ../build.patch || return 1 + + # configure + ./configure --prefix=/usr --mandir=/usr/share/man \ + --with-docdir=/usr/share/doc --with-openssl \ + --datadir=/usr/share/postgresql --with-pam --with-libxml || return 1 + + sed -i -e '/interfaces/d' src/Makefile || return 1 + + # build + make || return 1 + + # install + make DESTDIR=${startdir}/pkg install || return 1 + + ( + cd contrib/adminpack; + make || return 1; + make DESTDIR=${startdir}/pkg install || return 1; + ); + + + # clean up unneeded installed items + rm -rf $startdir/pkg/usr/include/postgresql/internal || return 1 + rm -rf $startdir/pkg/usr/include/libpq || return 1 + # the below line is expected to produce an error; fix this one day + rm -f $startdir/pkg/usr/include/* + rm -f $startdir/pkg/usr/bin/pg_config || return 1 + + # Maintaining the lib below because of qt + #rm -f $startdir/pkg/usr/lib/libpgport.a || return 1 + + # install launch script + install -D -m755 ../postgresql $startdir/pkg/etc/rc.d/postgresql \ + || return 1 + + # install license + install -D -m644 COPYRIGHT $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1 + + # install conf file + install -D -m644 $startdir/src/postgresql.confd \ + $startdir/pkg/etc/conf.d/postgresql || return 1 + + install -D -m644 $startdir/src/postgresql.pam \ + $startdir/pkg/etc/pam.d/postgresql + + chown root:root $startdir/pkg/usr/share/doc/postgresql/html/* +} + +md5sums=('4f8c67d802bd03b5b844e268bba7d44a' + '7d8ea2abb6a8cdacf35604bda659a34a' + 'df6ddf9e2ab4700a3415f17c0f4f4172' + '4d74f4227dc5e12bf95b3490758d86c9' + '96f82c38f3f540b53f3e5144900acf17') +md5sums=('4f8c67d802bd03b5b844e268bba7d44a' + '7d8ea2abb6a8cdacf35604bda659a34a' + 'df6ddf9e2ab4700a3415f17c0f4f4172' + '4d74f4227dc5e12bf95b3490758d86c9' + '96f82c38f3f540b53f3e5144900acf17') diff --git a/abs/extra/postgresql/build.patch b/abs/extra/postgresql/build.patch new file mode 100644 index 0000000..c8f665d --- /dev/null +++ b/abs/extra/postgresql/build.patch @@ -0,0 +1,11 @@ +diff -Naur postgresql-8.2.3-orig/src/Makefile postgresql-8.2.3/src/Makefile +--- postgresql-8.2.3-orig/src/Makefile 2006-06-22 16:50:35.000000000 -0700 ++++ postgresql-8.2.3/src/Makefile 2007-03-05 10:46:24.000000000 -0800 +@@ -23,7 +23,6 @@ + $(MAKE) -C bin $@ + $(MAKE) -C pl $@ + $(MAKE) -C makefiles $@ +- $(MAKE) -C test/regress $@ + + install: install-local + diff --git a/abs/extra/postgresql/postgresql b/abs/extra/postgresql/postgresql new file mode 100755 index 0000000..c6aedfb --- /dev/null +++ b/abs/extra/postgresql/postgresql @@ -0,0 +1,59 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/postgresql + +case "$1" in + start) + stat_busy "Starting PostgreSQL" + # initialization + if [ ! `egrep '^postgres:' /etc/group` ]; then + stat_busy "Adding postgres group" + groupadd -g 88 postgres + stat_done + fi + if [ ! `egrep '^postgres:' /etc/passwd` ]; then + stat_busy "Adding postgres user" + useradd -u 88 -g postgres -d $PGROOT -s /bin/bash postgres + [ -d $PGROOT ] && chown -R postgres.postgres $PGROOT + stat_done + fi + if [ ! -d $PGROOT ]; then + mkdir -p $PGROOT/data && chown postgres.postgres $PGROOT/data + su - postgres -c "/usr/bin/initdb -D $PGROOT/data" + fi + if [ ! -e /var/log/postgresql.log ]; then + touch /var/log/postgresql.log + chown postgres /var/log/postgresql.log + fi + # start the process + su - postgres -c \ + "/usr/bin/pg_ctl -D $PGROOT/data -l /var/log/postgresql.log -W start" + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon postgresql + stat_done + fi + ;; + stop) + stat_busy "Stopping PostgreSQL" + su - postgres -c \ + "/usr/bin/pg_ctl -D $PGROOT/data -l /var/log/postgresql.log -w stop" + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon postgresql + stat_done + fi + ;; + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/abs/extra/postgresql/postgresql.confd b/abs/extra/postgresql/postgresql.confd new file mode 100644 index 0000000..7bbf016 --- /dev/null +++ b/abs/extra/postgresql/postgresql.confd @@ -0,0 +1,4 @@ +# +# Parameters to be passed to postgresql +# +PGROOT="/var/lib/postgres"
\ No newline at end of file diff --git a/abs/extra/postgresql/postgresql.pam b/abs/extra/postgresql/postgresql.pam new file mode 100644 index 0000000..53724d1 --- /dev/null +++ b/abs/extra/postgresql/postgresql.pam @@ -0,0 +1,3 @@ +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so |