aboutsummaryrefslogtreecommitdiff
path: root/databases/postgresql74-server
diff options
context:
space:
mode:
authorPalle Girgensohn <girgen@FreeBSD.org>2005-03-19 03:51:45 +0000
committerPalle Girgensohn <girgen@FreeBSD.org>2005-03-19 03:51:45 +0000
commit75063741266f3fd43477a6ac526b36c2899c0108 (patch)
treebbf005f0ba4c3ce6942d024cc979f482ee22311a /databases/postgresql74-server
parenteaf383b08ae8074f7db4b61913c4c19234a6637f (diff)
downloadports-75063741266f3fd43477a6ac526b36c2899c0108.tar.gz
ports-75063741266f3fd43477a6ac526b36c2899c0108.zip
Modify 8.0's startup script to simulate a full login (su -l) [1]. Also
add support to select login class for running postgresql [2]. The new startup script, using rc.subr, is now installed for all versions of postgresql. Bump portrevisions, since startup script is modified. PR: 78630 [1] Submitted by: Vivek Khera [1] Submitted by: Brian B. [2] Approved by: seanc (implicit)
Notes
Notes: svn path=/head/; revision=131605
Diffstat (limited to 'databases/postgresql74-server')
-rw-r--r--databases/postgresql74-server/Makefile2
-rw-r--r--databases/postgresql74-server/files/pgsql.sh.tmpl98
2 files changed, 54 insertions, 46 deletions
diff --git a/databases/postgresql74-server/Makefile b/databases/postgresql74-server/Makefile
index 39d4f44bebc4..6adc994923ad 100644
--- a/databases/postgresql74-server/Makefile
+++ b/databases/postgresql74-server/Makefile
@@ -8,7 +8,7 @@
PORTNAME?= postgresql
PKGNAMESUFFIX?= -server
PORTVERSION?= 7.4.7
-PORTREVISION?= 2
+PORTREVISION?= 3
CATEGORIES?= databases
MASTER_SITES= ${MASTER_SITE_PGSQL}
MASTER_SITE_SUBDIR= source/v${PORTVERSION}
diff --git a/databases/postgresql74-server/files/pgsql.sh.tmpl b/databases/postgresql74-server/files/pgsql.sh.tmpl
index 3f8706d6af0c..8d975d54303c 100644
--- a/databases/postgresql74-server/files/pgsql.sh.tmpl
+++ b/databases/postgresql74-server/files/pgsql.sh.tmpl
@@ -2,50 +2,58 @@
# $FreeBSD$
#
-# For postmaster startup options, edit $PGDATA/postgresql.conf
+# PROVIDE: postgresql
+# REQUIRE: LOGIN
+# KEYWORD: FreeBSD shutdown
#
-# Note that PGDATA is set in ~pgsql/.profile, don't try to manipulate it here!
+# Add the following line to /etc/rc.conf to enable PostgreSQL:
#
-
-PREFIX=%%PREFIX%%
-PGBIN=${PREFIX}/bin
-
-case $1 in
-start)
- [ -x ${PGBIN}/pg_ctl ] && {
- echo -n ' pgsql'
- su -l pgsql -c \
- "[ -d \${PGDATA} ] && exec ${PREFIX}/bin/pg_ctl start -s -w"
- }
- ;;
-
-stop)
- [ -x ${PGBIN}/pg_ctl ] && {
- echo -n ' pgsql'
- su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl stop -s -m fast"
- }
- ;;
-
-restart)
- [ -x ${PGBIN}/pg_ctl ] && {
- exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl restart -s -m fast"
- }
- ;;
-
-reload)
- [ -x ${PGBIN}/pg_ctl ] && {
- exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl reload"
- }
- ;;
-
-status)
- [ -x ${PGBIN}/pg_ctl ] && {
- exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl status"
- }
- ;;
-
-*)
- echo "usage: `basename $0` {start|stop|restart|reload|status}" >&2
- exit 64
- ;;
-esac
+# postgresql_enable="YES"
+# # optional
+# postgresql_data="%%PREFIX%%/pgsql/data"
+# postgresql_flags="-w -s -m fast"
+#
+# This scripts takes one of the following commands:
+#
+# start stop restart reload status initdb
+#
+# For postmaster startup options, edit ${postgresql_data}/postgresql.conf
+
+prefix=%%PREFIX%%
+
+. %%RC_SUBR%%
+
+load_rc_config postgresql
+
+# set defaults
+postgresql_enable=${postgresql_enable:-"NO"}
+postgresql_flags=${postgresql_flags:-"-w -s -m fast"}
+postgresql_user=pgsql
+eval postgresql_data=${postgresql_data:-"~${postgresql_user}/data"}
+postgresql_class=${postgresql_class:-"default"}
+
+name=postgresql
+rcvar=`set_rcvar`
+command=${prefix}/bin/pg_ctl
+command_args="-D ${postgresql_data} ${postgresql_flags} $1"
+extra_commands="reload initdb"
+
+start_cmd="postgresql_command start"
+stop_cmd="postgresql_command stop"
+restart_cmd="postgresql_command restart"
+reload_cmd="postgresql_command reload"
+status_cmd="postgresql_command status"
+
+initdb_cmd="postgresql_initdb"
+
+postgresql_command()
+{
+ su -l ${postgresql_user} -c "exec ${command} ${command_args}"
+}
+
+postgresql_initdb()
+{
+ su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
+}
+
+run_rc_command "$1"