#!@RCD_SCRIPTS_SHELL@ # # $NetBSD: p4d.sh,v 1.2 2002/09/20 02:01:56 grant Exp $ # # Perforce SCM server # # PROVIDE: p4d # REQUIRE: DAEMON [ -f /etc/rc.subr ] && . /etc/rc.subr name="p4d" rcvar=${name} command="@PREFIX@/sbin/p4d" start_cmd="p4d_start" license_cmd="p4d_license" extra_commands="license" p4d_start() { p4d_run ${p4d_flags} -d -q } p4d_license() { p4d_run -V } p4d_run() { eval "@SU@ -m @P4USER@ -c 'umask 037; @SETENV@ - `p4d_getenv` ${command} $@'" } p4d_getenv() { p4d_getenv_debug p4d_getenv_journalfile p4d_getenv_logfile p4d_getenv_port p4d_getenv_rootdir p4d_getenv_tmp } p4d_getenv_debug() { # Possibly specify debug output # p4d default: none if [ ! -z ${P4DEBUG} ]; then @ECHO@ -n " P4DEBUG=${P4DEBUG}" fi } p4d_getenv_journalfile() { # Possibly specify the journal file # p4d default: "journal" if it exists, else none if [ ! -z ${P4JOURNAL} ]; then @ECHO@ -n " P4JOURNAL=${P4JOURNAL}" fi } p4d_getenv_logfile() { # Always specify the log file # p4d default: stderr if [ -z ${P4LOG} ]; then P4LOG=@P4LOG@ fi @ECHO@ -n " P4LOG=${P4LOG}" } p4d_getenv_port() { # Possibly specify the port number # p4d default: 1666 if [ ! -z ${P4PORT} ]; then @ECHO@ -n " P4PORT=${P4PORT}" fi } p4d_getenv_rootdir() { # Always specify the root dir # p4d default: working directory if [ -z ${P4ROOT} ]; then P4ROOT=@P4ROOT@ fi @ECHO@ -n " P4ROOT=${P4ROOT}" } p4d_getenv_tmp() { # Possibly specify temp dir # p4d default: /tmp if [ ! -z ${TEMP} ]; then @ECHO@ -n " TMP=${TEMP}" elif [ ! -z ${TMP} ]; then @ECHO@ -n " TMP=${TMP}" fi } if [ -f /etc/rc.subr ]; then load_rc_config $name run_rc_command "$1" else echo -n " ${name}" ${start_cmd} fi