diff options
Diffstat (limited to 'databases/postgresql82-server/pkg-install-server')
-rw-r--r-- | databases/postgresql82-server/pkg-install-server | 39 |
1 files changed, 39 insertions, 0 deletions
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 ;; |