summaryrefslogtreecommitdiff
path: root/databases/postgresql90-server/files/pkg-install-server.in
diff options
context:
space:
mode:
Diffstat (limited to 'databases/postgresql90-server/files/pkg-install-server.in')
-rw-r--r--databases/postgresql90-server/files/pkg-install-server.in37
1 files changed, 37 insertions, 0 deletions
diff --git a/databases/postgresql90-server/files/pkg-install-server.in b/databases/postgresql90-server/files/pkg-install-server.in
index e3be291efdc1..da85c73b7e4c 100644
--- a/databases/postgresql90-server/files/pkg-install-server.in
+++ b/databases/postgresql90-server/files/pkg-install-server.in
@@ -4,6 +4,10 @@
PATH=/bin:/usr/bin:/usr/sbin
+PG_USER=%%PG_USER%%
+PG_GROUP=%%PG_GROUP%%
+PG_UID=%%PG_UID%%
+
backupwarning() { echo "
=========== BACKUP YOUR DATA! =============
@@ -20,6 +24,39 @@ backupwarning() { echo "
}
case $2 in
+PRE-INSTALL)
+ backupwarning
+ DB_DIR=${PKG_PREFIX}/${PG_USER}
+
+ if pw group show "${PG_GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${PG_GROUP}\", so I will use it."
+ else
+ if pw groupadd ${PG_GROUP} -g ${PG_UID}; then
+ echo "Added group \"${PG_GROUP}\"."
+ else
+ echo "Adding group \"${PG_GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if pw user show "${PG_USER}" 2>/dev/null; then
+ echo "You already have a user \"${PG_USER}\", so I will use it."
+ else
+ if pw useradd ${PG_USER} -u ${PG_UID} -g ${PG_GROUP} -h - \
+ -d ${DB_DIR} -c "PostgreSQL Daemon"
+ then
+ echo "Added user \"${PG_USER}\"."
+ else
+ echo "Adding user \"${PG_USER}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if ! [ -x ~${PG_USER} ] ; then
+ install -m 755 -o ${PG_USER} -g ${PG_GROUP} -d ${DB_DIR}
+ fi
+ ;;
+
BACKUPWARNING)
backupwarning
;;