summaryrefslogtreecommitdiff
path: root/devel/p4
diff options
context:
space:
mode:
authorschmonz <schmonz>2002-09-01 02:25:04 +0000
committerschmonz <schmonz>2002-09-01 02:25:04 +0000
commit7a74892f8feecc5eb5b76efc68ecc7f46172019f (patch)
tree2d57c4a0fde310d61ab4447647c1fa4abca8413a /devel/p4
parent885d2a9bfbb0af0ce5c6dc87c9ea1625be9217a7 (diff)
downloadpkgsrc-7a74892f8feecc5eb5b76efc68ecc7f46172019f.tar.gz
Initial import of Perforce SCM server, release 2002.1.
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.
Diffstat (limited to 'devel/p4')
-rw-r--r--devel/p4/DESCR9
-rw-r--r--devel/p4/Makefile35
-rw-r--r--devel/p4/PLIST5
-rw-r--r--devel/p4/distinfo42
-rw-r--r--devel/p4/files/p4d.sh108
5 files changed, 166 insertions, 33 deletions
diff --git a/devel/p4/DESCR b/devel/p4/DESCR
index 5d04fc80c8e..19ad6365d61 100644
--- a/devel/p4/DESCR
+++ b/devel/p4/DESCR
@@ -1,5 +1,4 @@
-P4 is a small, self-contained Perforce client program that offers
-access to all Perforce SCM (software configuration management)
-features through a command line. It can be used in command shells
-and scripts, and is the ideal interface for automated processes
-that perform SCM tasks.
+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/p4/Makefile b/devel/p4/Makefile
index 799ac203769..a5349cb93df 100644
--- a/devel/p4/Makefile
+++ b/devel/p4/Makefile
@@ -1,15 +1,40 @@
-# $NetBSD: Makefile,v 1.1.1.1 2002/09/01 02:22:54 schmonz Exp $
+# $NetBSD: Makefile,v 1.1.1.2 2002/09/01 02:25:04 schmonz Exp $
#
-DISTNAME= p4
-HOMEPAGE= http://www.perforce.com/perforce/products/p4.html
-COMMENT= Perforce SCM command-line client
+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}/bin
+ ${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/p4/PLIST b/devel/p4/PLIST
index f78b99d64c8..afdf0432aae 100644
--- a/devel/p4/PLIST
+++ b/devel/p4/PLIST
@@ -1,2 +1,3 @@
-@comment $NetBSD: PLIST,v 1.1.1.1 2002/09/01 02:22:54 schmonz Exp $
-bin/p4
+@comment $NetBSD: PLIST,v 1.1.1.2 2002/09/01 02:25:04 schmonz Exp $
+etc/rc.d/p4d
+sbin/p4d
diff --git a/devel/p4/distinfo b/devel/p4/distinfo
index fa661210d10..12c45c88a1a 100644
--- a/devel/p4/distinfo
+++ b/devel/p4/distinfo
@@ -1,22 +1,22 @@
-$NetBSD: distinfo,v 1.1.1.1 2002/09/01 02:22:54 schmonz Exp $
+$NetBSD: distinfo,v 1.1.1.2 2002/09/01 02:25:04 schmonz Exp $
-SHA1 (perforce/darwinppc/p4) = 6e8e92ca35d15dd112c81785745a896f377eaaff
-Size (perforce/darwinppc/p4) = 500120 bytes
-SHA1 (perforce/linux24x86/p4) = 83bc0824494aee612b71ce141ab71b7bedfa66fd
-Size (perforce/linux24x86/p4) = 451808 bytes
-SHA1 (perforce/linux52sparc/p4) = 7f8ce1b8974d8a07e0f9a0a89c4051f1d64d764b
-Size (perforce/linux52sparc/p4) = 436892 bytes
-SHA1 (perforce/linuxarm/p4) = fdfe0f9179d163662b09371d22c04d2e4b266d70
-Size (perforce/linuxarm/p4) = 472656 bytes
-SHA1 (perforce/linuxppc/p4) = 3f48346303291383b62ce23c2857a21a9666c658
-Size (perforce/linuxppc/p4) = 840812 bytes
-SHA1 (perforce/netbsdaxp/p4) = b39fb6ade9b37a84cbc600cd8fa1550d80198780
-Size (perforce/netbsdaxp/p4) = 607552 bytes
-SHA1 (perforce/netbsdx86/p4) = 778266ebc5c8051b24090ba5a1857b65abaaa2e9
-Size (perforce/netbsdx86/p4) = 447312 bytes
-SHA1 (perforce/solaris26/p4) = e22b8d1b616d5c300330eb1b5946e68e60fff2ff
-Size (perforce/solaris26/p4) = 607448 bytes
-SHA1 (perforce/solaris26x86/p4) = 8218891d7be40643f2034a6661a81fb0b57c870b
-Size (perforce/solaris26x86/p4) = 426116 bytes
-SHA1 (perforce/sunos/p4) = cb690dc9333f73eba9b629ce6968c69e8ef8124d
-Size (perforce/sunos/p4) = 548864 bytes
+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/p4/files/p4d.sh b/devel/p4/files/p4d.sh
new file mode 100644
index 00000000000..e8878462667
--- /dev/null
+++ b/devel/p4/files/p4d.sh
@@ -0,0 +1,108 @@
+#!/bin/sh
+#
+# $NetBSD: p4d.sh,v 1.1.1.1 2002/09/01 02:25:04 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