1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

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)
This commit is contained in:
Palle Girgensohn 2005-03-19 03:51:45 +00:00
parent eaf383b08a
commit 7506374126
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=131605
20 changed files with 127 additions and 101 deletions

View File

@ -8,7 +8,7 @@
PORTNAME?= postgresql
PKGNAMESUFFIX?= -server
PORTVERSION?= 7.3.9
PORTREVISION?= 2
PORTREVISION?= 3
CATEGORIES?= databases
MASTER_SITES= ${MASTER_SITE_PGSQL}
MASTER_SITE_SUBDIR= source/v${PORTVERSION}

View File

@ -2,48 +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:
#
# 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%%
PGBIN=${PREFIX}/bin
logfile=/var/log/pgsql
prefix=%%PREFIX%%
case $1 in
start)
touch ${logfile}
chmod 600 ${logfile}
chown pgsql:pgsql ${logfile}
[ -x ${PGBIN}/pg_ctl ] && {
su -l pgsql -c \
"[ -d \${PGDATA} ] && exec ${PREFIX}/bin/pg_ctl start -s -w -l ${logfile}"
echo -n ' pgsql'
}
;;
. %%RC_SUBR%%
stop)
[ -x ${PGBIN}/pg_ctl ] && {
su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl stop -s -m fast"
echo -n ' pgsql'
}
;;
load_rc_config postgresql
restart)
[ -x ${PGBIN}/pg_ctl ] && {
exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl restart -s -m fast -l ${logfile}"
}
;;
# 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"}
status)
[ -x ${PGBIN}/pg_ctl ] && {
exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl status"
}
;;
name=postgresql
rcvar=`set_rcvar`
command=${prefix}/bin/pg_ctl
command_args="-D ${postgresql_data} ${postgresql_flags} $1"
extra_commands="reload initdb"
*)
echo "usage: `basename $0` {start|stop|restart|status}" >&2
exit 64
;;
esac
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"

View File

@ -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}

View File

@ -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:
#
# 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%%
PGBIN=${PREFIX}/bin
prefix=%%PREFIX%%
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"
}
;;
. %%RC_SUBR%%
stop)
[ -x ${PGBIN}/pg_ctl ] && {
echo -n ' pgsql'
su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl stop -s -m fast"
}
;;
load_rc_config postgresql
restart)
[ -x ${PGBIN}/pg_ctl ] && {
exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl restart -s -m fast"
}
;;
# 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"}
reload)
[ -x ${PGBIN}/pg_ctl ] && {
exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl reload"
}
;;
name=postgresql
rcvar=`set_rcvar`
command=${prefix}/bin/pg_ctl
command_args="-D ${postgresql_data} ${postgresql_flags} $1"
extra_commands="reload initdb"
status)
[ -x ${PGBIN}/pg_ctl ] && {
exec su -l pgsql -c "exec ${PREFIX}/bin/pg_ctl status"
}
;;
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"
*)
echo "usage: `basename $0` {start|stop|restart|reload|status}" >&2
exit 64
;;
esac
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"

View File

@ -8,7 +8,7 @@
PORTNAME?= postgresql
PKGNAMESUFFIX?= -server
PORTVERSION?= 8.0.1
PORTREVISION?= 2
PORTREVISION?= 3
CATEGORIES?= databases
MASTER_SITES= ${MASTER_SITE_PGSQL}
MASTER_SITE_SUBDIR= source/v${PORTVERSION}

View File

@ -30,6 +30,7 @@ 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`
@ -47,12 +48,12 @@ initdb_cmd="postgresql_initdb"
postgresql_command()
{
su -m ${postgresql_user} -c "exec ${command} ${command_args}"
su -l ${postgresql_user} -c "exec ${command} ${command_args}"
}
postgresql_initdb()
{
su -l ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
}
run_rc_command "$1"

View File

@ -8,7 +8,7 @@
PORTNAME?= postgresql
PKGNAMESUFFIX?= -server
PORTVERSION?= 8.0.1
PORTREVISION?= 2
PORTREVISION?= 3
CATEGORIES?= databases
MASTER_SITES= ${MASTER_SITE_PGSQL}
MASTER_SITE_SUBDIR= source/v${PORTVERSION}

View File

@ -30,6 +30,7 @@ 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`
@ -47,12 +48,12 @@ initdb_cmd="postgresql_initdb"
postgresql_command()
{
su -m ${postgresql_user} -c "exec ${command} ${command_args}"
su -l ${postgresql_user} -c "exec ${command} ${command_args}"
}
postgresql_initdb()
{
su -l ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
}
run_rc_command "$1"

View File

@ -8,7 +8,7 @@
PORTNAME?= postgresql
PKGNAMESUFFIX?= -server
PORTVERSION?= 8.0.1
PORTREVISION?= 2
PORTREVISION?= 3
CATEGORIES?= databases
MASTER_SITES= ${MASTER_SITE_PGSQL}
MASTER_SITE_SUBDIR= source/v${PORTVERSION}

View File

@ -30,6 +30,7 @@ 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`
@ -47,12 +48,12 @@ initdb_cmd="postgresql_initdb"
postgresql_command()
{
su -m ${postgresql_user} -c "exec ${command} ${command_args}"
su -l ${postgresql_user} -c "exec ${command} ${command_args}"
}
postgresql_initdb()
{
su -l ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
}
run_rc_command "$1"

View File

@ -8,7 +8,7 @@
PORTNAME?= postgresql
PKGNAMESUFFIX?= -server
PORTVERSION?= 8.0.1
PORTREVISION?= 2
PORTREVISION?= 3
CATEGORIES?= databases
MASTER_SITES= ${MASTER_SITE_PGSQL}
MASTER_SITE_SUBDIR= source/v${PORTVERSION}

View File

@ -30,6 +30,7 @@ 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`
@ -47,12 +48,12 @@ initdb_cmd="postgresql_initdb"
postgresql_command()
{
su -m ${postgresql_user} -c "exec ${command} ${command_args}"
su -l ${postgresql_user} -c "exec ${command} ${command_args}"
}
postgresql_initdb()
{
su -l ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
}
run_rc_command "$1"

View File

@ -8,7 +8,7 @@
PORTNAME?= postgresql
PKGNAMESUFFIX?= -server
PORTVERSION?= 8.0.1
PORTREVISION?= 2
PORTREVISION?= 3
CATEGORIES?= databases
MASTER_SITES= ${MASTER_SITE_PGSQL}
MASTER_SITE_SUBDIR= source/v${PORTVERSION}

View File

@ -30,6 +30,7 @@ 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`
@ -47,12 +48,12 @@ initdb_cmd="postgresql_initdb"
postgresql_command()
{
su -m ${postgresql_user} -c "exec ${command} ${command_args}"
su -l ${postgresql_user} -c "exec ${command} ${command_args}"
}
postgresql_initdb()
{
su -l ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
}
run_rc_command "$1"

View File

@ -8,7 +8,7 @@
PORTNAME?= postgresql
PKGNAMESUFFIX?= -server
PORTVERSION?= 8.0.1
PORTREVISION?= 2
PORTREVISION?= 3
CATEGORIES?= databases
MASTER_SITES= ${MASTER_SITE_PGSQL}
MASTER_SITE_SUBDIR= source/v${PORTVERSION}

View File

@ -30,6 +30,7 @@ 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`
@ -47,12 +48,12 @@ initdb_cmd="postgresql_initdb"
postgresql_command()
{
su -m ${postgresql_user} -c "exec ${command} ${command_args}"
su -l ${postgresql_user} -c "exec ${command} ${command_args}"
}
postgresql_initdb()
{
su -l ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
}
run_rc_command "$1"

View File

@ -8,7 +8,7 @@
PORTNAME?= postgresql
PKGNAMESUFFIX?= -server
PORTVERSION?= 8.0.1
PORTREVISION?= 2
PORTREVISION?= 3
CATEGORIES?= databases
MASTER_SITES= ${MASTER_SITE_PGSQL}
MASTER_SITE_SUBDIR= source/v${PORTVERSION}

View File

@ -30,6 +30,7 @@ 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`
@ -47,12 +48,12 @@ initdb_cmd="postgresql_initdb"
postgresql_command()
{
su -m ${postgresql_user} -c "exec ${command} ${command_args}"
su -l ${postgresql_user} -c "exec ${command} ${command_args}"
}
postgresql_initdb()
{
su -l ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
}
run_rc_command "$1"

View File

@ -8,7 +8,7 @@
PORTNAME?= postgresql
PKGNAMESUFFIX?= -server
PORTVERSION?= 8.0.1
PORTREVISION?= 2
PORTREVISION?= 3
CATEGORIES?= databases
MASTER_SITES= ${MASTER_SITE_PGSQL}
MASTER_SITE_SUBDIR= source/v${PORTVERSION}

View File

@ -30,6 +30,7 @@ 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`
@ -47,12 +48,12 @@ initdb_cmd="postgresql_initdb"
postgresql_command()
{
su -m ${postgresql_user} -c "exec ${command} ${command_args}"
su -l ${postgresql_user} -c "exec ${command} ${command_args}"
}
postgresql_initdb()
{
su -l ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
}
run_rc_command "$1"