diff options
Diffstat (limited to 'devel/p4d/files/p4d.sh')
-rw-r--r-- | devel/p4d/files/p4d.sh | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/devel/p4d/files/p4d.sh b/devel/p4d/files/p4d.sh new file mode 100644 index 00000000000..7df60e5ce2a --- /dev/null +++ b/devel/p4d/files/p4d.sh @@ -0,0 +1,108 @@ +#!/bin/sh +# +# $NetBSD: p4d.sh,v 1.1.1.1 2002/09/01 02:26:09 schmonz 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 |