summaryrefslogtreecommitdiff
path: root/databases/postgresql82-server
diff options
context:
space:
mode:
authorChris Rees <crees@FreeBSD.org>2011-08-15 14:52:31 +0000
committerChris Rees <crees@FreeBSD.org>2011-08-15 14:52:31 +0000
commitc413f3f468d5b9be476e702d08ffd8437efeaf3d (patch)
tree9133bc56ee8a76652ed821e043322b8889b522ef /databases/postgresql82-server
parent- Update to 2011.08.15 (diff)
Revert previous commit -- appears to cause rc problems as I missed some subs
http://www.mail-archive.com/freebsd-ports@freebsd.org/msg35324.html PR: ports/157558 ports/157559 ports/157666 ports/157669 Submitted by: rihad@mail.ru Approved by: maintainer (girgen; implicit -- this reverts a commit I did after maintainer timeout)
Notes
Notes: svn path=/head/; revision=279751
Diffstat (limited to 'databases/postgresql82-server')
-rw-r--r--databases/postgresql82-server/Makefile8
-rw-r--r--databases/postgresql82-server/pkg-install-server39
2 files changed, 45 insertions, 2 deletions
diff --git a/databases/postgresql82-server/Makefile b/databases/postgresql82-server/Makefile
index 9b2ef2b88abd..ab69ca9e7555 100644
--- a/databases/postgresql82-server/Makefile
+++ b/databases/postgresql82-server/Makefile
@@ -60,8 +60,6 @@ USE_RC_SUBR= postgresql
SUB_FILES+= dot.cshrc dot.profile
USE_PGSQL= yes
WANT_PGSQL_VER= ${PORTVERSION:C/([0-9][0-9]*)\.([0-9][0-9]*).*/\1\2/g}
-USERS= pgsql
-GROUPS= ${USERS}
.endif
.if !defined(SLAVE_ONLY)
@@ -243,6 +241,12 @@ PKGMESSAGE= ${WRKSRC}/pkg-message${PKGNAMESUFFIX}
. endif
.endif
+.if defined(SERVER_ONLY)
+pre-su-install:
+ @ ${SETENV} PKG_PREFIX=${PREFIX} \
+ ${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL
+.endif
+
.if !defined(NO_BUILD)
post-patch:
@${REINPLACE_CMD} s/@PTHREAD_LIBS@// ${WRKSRC}/src/Makefile.global.in
diff --git a/databases/postgresql82-server/pkg-install-server b/databases/postgresql82-server/pkg-install-server
index bb5c69a88bed..c3db75540ffa 100644
--- a/databases/postgresql82-server/pkg-install-server
+++ b/databases/postgresql82-server/pkg-install-server
@@ -3,6 +3,8 @@
# $FreeBSD$
PATH=/bin:/usr/sbin
+PGUSER=pgsql
+DB_DIR=${PKG_PREFIX}/${PGUSER}
backupwarning() { echo "
@@ -20,6 +22,43 @@ backupwarning() { echo "
}
case $2 in
+PRE-INSTALL)
+ backupwarning
+ USER=${PGUSER}
+ GROUP=${USER}
+ UID=70
+ GID=${UID}
+
+ if pw group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if pw groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if pw user show "${USER}" 2>/dev/null; then
+ echo "You already have a user \"${USER}\", so I will use it."
+ else
+ if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
+ -d ${DB_DIR} -c "PostgreSQL Daemon"
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if ! [ -x ~${PGUSER} ] ; then
+ mkdir -p ${DB_DIR}
+ chown pgsql:pgsql ${DB_DIR}
+ fi
+ ;;
+
BACKUPWARNING)
backupwarning
;;