diff options
Diffstat (limited to 'databases/postgresql83-server')
-rw-r--r-- | databases/postgresql83-server/Makefile | 8 | ||||
-rw-r--r-- | databases/postgresql83-server/pkg-install-server | 37 |
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 ;; |