# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem 1.0

name			postgresql84-server
version			8.4.22
categories		databases
platforms		darwin
maintainers		nomaintainer
license			Permissive
description		run postgresql84 as server
long_description	${description}
distfiles       

homepage		https://www.postgresql.org/
master_sites		postgresql

depends_run		port:postgresql84

use_configure	no
build	{}

set libdir		${prefix}/lib/postgresql84
set dbdir		${prefix}/var/db/postgresql84/defaultdb
set logdir		${prefix}/var/log/postgresql84
set dbuser		postgres
set dbgrp		postgres

add_users ${dbuser} shell=/bin/sh group=${dbgrp} \
    home=${prefix}/var/db/postgresql84 \
    realname=PostgreSQL-84\ Server

startupitem.create	yes
startupitem.init	\
	"PGCTL=${libdir}/bin/pg_ctl"
startupitem.start	\
	"su ${dbuser} -c \"\${PGCTL} -D \${POSTGRESQL84DATA:=${dbdir}} start -l ${logdir}/postgres.log\""
startupitem.stop	\
"su ${dbuser} -c \"\${PGCTL} -D \${POSTGRESQL84DATA:=${dbdir}} stop -s -m fast\""

destroot {
	xinstall -m 755 -d ${destroot}${logdir}
	system "touch ${destroot}${logdir}/postgres.log"
	system "chown -R ${dbuser}:${dbgrp} ${destroot}${logdir}"
}

notes "\nTo create a database instance, after install do\n\
		sudo mkdir -p ${dbdir}\n\
		sudo chown ${dbuser}:${dbgrp} ${dbdir}\n\
		sudo su ${dbuser} -c \'${libdir}/bin/initdb -D ${dbdir}\'\n
       \nTo tweak your DBMS, consider increasing kern.sysv.shmmax\
		by adding an increased kern.sysv.shmmax .. to /etc/sysctl.conf"

post-activate {
    # ensure log dir is owned by postgres even if it existed previously
    catch {file attributes $logdir -owner $dbuser -group $dbgrp}
}

livecheck.type	none