summaryrefslogtreecommitdiff
path: root/databases/postgresql83-server
diff options
context:
space:
mode:
Diffstat (limited to 'databases/postgresql83-server')
-rw-r--r--databases/postgresql83-server/Makefile8
-rw-r--r--databases/postgresql83-server/pkg-install-server37
2 files changed, 43 insertions, 2 deletions
diff --git a/databases/postgresql83-server/Makefile b/databases/postgresql83-server/Makefile
index e034cd0dcd84..99e01933a334 100644
--- a/databases/postgresql83-server/Makefile
+++ b/databases/postgresql83-server/Makefile
@@ -61,8 +61,6 @@ SERVER_ONLY= yes
USE_RC_SUBR= postgresql
USE_PGSQL= yes
WANT_PGSQL_VER= ${PORTVERSION:C/([0-9][0-9]*)\.([0-9][0-9]*).*/\1\2/g}
-USERS= ${PGUSER}
-GROUPS= ${PGGROUP}
.endif
.if !defined(SLAVE_ONLY)
@@ -275,6 +273,12 @@ PKGMESSAGE= ${WRKSRC}/pkg-message${PKGNAMESUFFIX}
. endif
.endif
+.if defined(SERVER_ONLY)
+pre-su-install:
+ @ ${SETENV} PKG_PREFIX=${PREFIX} PGUSER=${PGUSER} PGGROUP=${PGGROUP} \
+ ${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/postgresql83-server/pkg-install-server b/databases/postgresql83-server/pkg-install-server
index e3be291efdc1..6dc3b6fdbd67 100644
--- a/databases/postgresql83-server/pkg-install-server
+++ b/databases/postgresql83-server/pkg-install-server
@@ -20,6 +20,43 @@ backupwarning() { echo "
}
case $2 in
+PRE-INSTALL)
+ backupwarning
+ PGUSER=${PGUSER:-pgsql}
+ PGGROUP=${PGGROUP:-pgsql}
+ DB_DIR=${PKG_PREFIX}/${PGUSER}
+ UID=70
+ GID=70
+
+ if pw group show "${PGGROUP}" 2>/dev/null; then
+ echo "You already have a group \"${PGGROUP}\", so I will use it."
+ else
+ if pw groupadd ${PGGROUP} -g ${GID}; then
+ echo "Added group \"${PGGROUP}\"."
+ else
+ echo "Adding group \"${PGGROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if pw user show "${PGUSER}" 2>/dev/null; then
+ echo "You already have a user \"${PGUSER}\", so I will use it."
+ else
+ if pw useradd ${PGUSER} -u ${UID} -g ${PGGROUP} -h - \
+ -d ${DB_DIR} -c "PostgreSQL Daemon"
+ then
+ echo "Added user \"${PGUSER}\"."
+ else
+ echo "Adding user \"${PGUSER}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if ! [ -x ~${PGUSER} ] ; then
+ install -m 755 -o ${PGUSER} -g ${PGGROUP} -d ${DB_DIR}
+ fi
+ ;;
+
BACKUPWARNING)
backupwarning
;;