aboutsummaryrefslogtreecommitdiff
path: root/databases/postgresql90-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/postgresql90-server
parentd53e439fe366b09ec9adf382f338c2aa41c51d27 (diff)
downloadports-c413f3f468d5b9be476e702d08ffd8437efeaf3d.tar.gz
ports-c413f3f468d5b9be476e702d08ffd8437efeaf3d.zip
Notes
Diffstat (limited to 'databases/postgresql90-server')
-rw-r--r--databases/postgresql90-server/Makefile12
-rw-r--r--databases/postgresql90-server/files/pkg-install-server.in37
-rw-r--r--databases/postgresql90-server/pkg-plist-server3
3 files changed, 49 insertions, 3 deletions
diff --git a/databases/postgresql90-server/Makefile b/databases/postgresql90-server/Makefile
index 7417824cd567..5e702a374a7b 100644
--- a/databases/postgresql90-server/Makefile
+++ b/databases/postgresql90-server/Makefile
@@ -35,6 +35,7 @@ GNU_CONFIGURE= YES
PG_USER?= pgsql
PG_GROUP?= pgsql
+PG_UID?= 70
LDFLAGS+= -L${LOCALBASE}/lib
INCLUDES+= -I${LOCALBASE}/include
@@ -61,8 +62,6 @@ USE_RC_SUBR= postgresql
USE_PGSQL= yes
WANT_PGSQL_VER= ${PORTVERSION:C/([0-9][0-9]*)\.([0-9][0-9]*).*/\1\2/g}
SUB_FILES+= 502.pgsql
-USERS= ${PG_USER}
-GROUPS= ${PG_GROUP}
.endif
.if !defined(SLAVE_ONLY)
@@ -315,10 +314,19 @@ PKGMESSAGE= ${WRKSRC}/pkg-message${PKGNAMESUFFIX}
. endif
. if exists(${FILESDIR}/pkg-install${PKGNAMESUFFIX}.in)
SUB_FILES+= pkg-install${PKGNAMESUFFIX}
+SUB_LIST= PG_GROUP=$(PG_GROUP) \
+ PG_USER=$(PG_USER) \
+ PG_UID=$(PG_UID)
+PLIST_SUB+= PG_USER=$(PG_USER)
PKGINSTALL= ${WRKDIR}/pkg-install${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/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
;;
diff --git a/databases/postgresql90-server/pkg-plist-server b/databases/postgresql90-server/pkg-plist-server
index 92bd9dc89581..ffd6dfc752d2 100644
--- a/databases/postgresql90-server/pkg-plist-server
+++ b/databases/postgresql90-server/pkg-plist-server
@@ -756,8 +756,9 @@ share/postgresql/tsearch_data/ispell_sample.dict
share/postgresql/tsearch_data/synonym_sample.syn
share/postgresql/tsearch_data/thesaurus_sample.ths
@dirrmtry share/postgresql/tsearch_data
+@unexec echo "Warning: If you will *NOT* use this package anymore, please remove the pgsql user manually."
@dirrmtry share/postgresql
@dirrmtry etc/periodic/daily
@dirrmtry etc/periodic
@dirrmtry lib/postgresql
-@dirrmtry pgsql
+@dirrmtry %%PG_USER%%