diff options
Diffstat (limited to 'devel/p4d')
-rw-r--r-- | devel/p4d/DESCR | 4 | ||||
-rw-r--r-- | devel/p4d/Makefile | 40 | ||||
-rw-r--r-- | devel/p4d/PLIST | 3 | ||||
-rw-r--r-- | devel/p4d/distinfo | 22 | ||||
-rw-r--r-- | devel/p4d/files/p4d.sh | 108 |
5 files changed, 177 insertions, 0 deletions
diff --git a/devel/p4d/DESCR b/devel/p4d/DESCR new file mode 100644 index 00000000000..19ad6365d61 --- /dev/null +++ b/devel/p4d/DESCR @@ -0,0 +1,4 @@ +P4D, the Perforce Server, manages the Perforce central file repository +(the "depot"), tracks Perforce user operations, and records activity +in the Perforce SCM database. You need one Perforce Server to +support all of the users in your enterprise. diff --git a/devel/p4d/Makefile b/devel/p4d/Makefile new file mode 100644 index 00000000000..6219708eccf --- /dev/null +++ b/devel/p4d/Makefile @@ -0,0 +1,40 @@ +# $NetBSD: Makefile,v 1.1.1.1 2002/09/01 02:26:08 schmonz Exp $ +# + +DISTNAME= p4d +HOMEPAGE= http://www.perforce.com/perforce/products/p4d.html +COMMENT= Perforce SCM server + +P4BINONLY= # defined + +.include "../../devel/p4/Makefile.common" + +FILES_SUBST+= P4USER=${P4USER:Q} +FILES_SUBST+= P4ROOT=${P4ROOT:Q} +FILES_SUBST+= P4PORT=${P4PORT:Q} +FILES_SUBST+= P4LOG=${P4LOG:Q} +FILES_SUBST+= P4JOURNAL=${P4JOURNAL:Q} + +PKG_GROUPS?= ${P4GROUP} +PKG_USERS?= ${P4USER}:${P4GROUP}::Perforce\\ Server:${P4ROOT} + +OWN_DIRS_PERMS= ${P4ROOT} ${P4USER} ${P4GROUP} 750 + +RCD_SCRIPTS= p4d + +.include "../../mk/bsd.prefs.mk" + +P4USER?= perforce +P4GROUP?= p4admin +P4ROOT?= /var/perforce +P4PORT?= 1666 +P4LOG?= log +P4JOURNAL?= journal + +do-install: + ${INSTALL_PROGRAM} ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME} ${PREFIX}/sbin + @${SED} ${FILES_SUBST_SED} ${FILESDIR}/p4d.sh > ${WRKDIR}/p4d + ${INSTALL_SCRIPT} ${WRKDIR}/p4d ${RCD_SCRIPTS_EXAMPLEDIR} + +.include "../../mk/bsd.pkg.install.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/devel/p4d/PLIST b/devel/p4d/PLIST new file mode 100644 index 00000000000..5d2cff91974 --- /dev/null +++ b/devel/p4d/PLIST @@ -0,0 +1,3 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2002/09/01 02:26:08 schmonz Exp $ +etc/rc.d/p4d +sbin/p4d diff --git a/devel/p4d/distinfo b/devel/p4d/distinfo new file mode 100644 index 00000000000..4ba96a93645 --- /dev/null +++ b/devel/p4d/distinfo @@ -0,0 +1,22 @@ +$NetBSD: distinfo,v 1.1.1.1 2002/09/01 02:26:08 schmonz Exp $ + +SHA1 (perforce/darwinppc/p4d) = 749e716e08227e2a711e641e20e0e3948c12e9b2 +Size (perforce/darwinppc/p4d) = 1285352 bytes +SHA1 (perforce/linux24x86/p4d) = 156282fea8fdab66fd4a2c5524fcb8cdbdf7019b +Size (perforce/linux24x86/p4d) = 1122120 bytes +SHA1 (perforce/linux52sparc/p4d) = dd94e8c2f9acd01f17103de21e7bab06481aa126 +Size (perforce/linux52sparc/p4d) = 1044836 bytes +SHA1 (perforce/linuxarm/p4d) = 00351c4e649ac4dd31b61938198e6518719e1404 +Size (perforce/linuxarm/p4d) = 1459148 bytes +SHA1 (perforce/linuxppc/p4d) = 22a4071a5763e9d68c8f4870be5d28210b1d3271 +Size (perforce/linuxppc/p4d) = 1703324 bytes +SHA1 (perforce/netbsdaxp/p4d) = d5779f27d204bbc9fceac6c2571f8ef409c482fe +Size (perforce/netbsdaxp/p4d) = 1991936 bytes +SHA1 (perforce/netbsdx86/p4d) = 3edca6ab97c1974f69339df120c69d6764d3965b +Size (perforce/netbsdx86/p4d) = 1174524 bytes +SHA1 (perforce/solaris26/p4d) = 6c5fe8a455d055218ca36c280ebaaa6265a6da2b +Size (perforce/solaris26/p4d) = 1505272 bytes +SHA1 (perforce/solaris26x86/p4d) = 4ed4ffd657cbf5c44ecd61b1fbe9d528d05a3092 +Size (perforce/solaris26x86/p4d) = 927208 bytes +SHA1 (perforce/sunos/p4d) = b6ca9a7b4e6ed3ae781515d6c43a2e0eacaca619 +Size (perforce/sunos/p4d) = 933888 bytes 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 |