summaryrefslogtreecommitdiff
path: root/devel/p4d
diff options
context:
space:
mode:
Diffstat (limited to 'devel/p4d')
-rw-r--r--devel/p4d/DESCR4
-rw-r--r--devel/p4d/Makefile40
-rw-r--r--devel/p4d/PLIST3
-rw-r--r--devel/p4d/distinfo22
-rw-r--r--devel/p4d/files/p4d.sh108
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