summaryrefslogtreecommitdiff
path: root/devel/p4/files
diff options
context:
space:
mode:
Diffstat (limited to 'devel/p4/files')
-rw-r--r--devel/p4/files/perforce18
-rw-r--r--devel/p4/files/perforce.conf.in40
-rw-r--r--devel/p4/files/perforce.sh.in40
3 files changed, 72 insertions, 26 deletions
diff --git a/devel/p4/files/perforce b/devel/p4/files/perforce
deleted file mode 100644
index e8572a008b80..000000000000
--- a/devel/p4/files/perforce
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Perforce FreeBSD configuration file
-#
-
-#
-# Perforce ROOT
-#
-PERFORCE_ROOT="/usr/p4root"
-
-#
-# Perforce options (see man p4d)
-#
-PERFORCE_OPTIONS="-d -v server=1 -L /var/log/perforce"
-
-#
-# Uncomment this line to have the server started automatically
-#
-#PERFORCE_START=yes
diff --git a/devel/p4/files/perforce.conf.in b/devel/p4/files/perforce.conf.in
new file mode 100644
index 000000000000..a98aa38b842b
--- /dev/null
+++ b/devel/p4/files/perforce.conf.in
@@ -0,0 +1,40 @@
+#
+# Perforce FreeBSD configuration file
+#
+#
+# $FreeBSD$
+
+#
+# Perforce ROOT
+#
+PERFORCE_ROOT="@PERFORCE_ROOT@"
+
+#
+# Perforce user (it is recommended to run p4d as a non-root user)
+#
+PERFORCE_USER="@PERFORCE_USER@"
+
+#
+# p4d port (default: 1666)
+#
+PERFORCE_PORT="@PERFORCE_PORT@"
+
+#
+# p4d options (see man p4d)
+#
+PERFORCE_OPTIONS="-d -p $PERFORCE_PORT -v server=1 -L @PERFORCE_LOGS@/p4d.log"
+
+#
+# Uncomment this line to have the server started automatically
+#
+#PERFORCE_START=yes
+
+#
+# p4ftpd options (see p4ftpd -h)
+#
+PERFORCE_FTPD_OPTIONS="-d -p $PERFORCE_PORT -v server=1 -L @PERFORCE_LOGS@/p4ftpd.log"
+
+#
+# Uncomment this line to have the server started automatically
+#
+#PERFORCE_FTPD_START=yes
diff --git a/devel/p4/files/perforce.sh.in b/devel/p4/files/perforce.sh.in
index 33398a7a8691..38cdb146e00e 100644
--- a/devel/p4/files/perforce.sh.in
+++ b/devel/p4/files/perforce.sh.in
@@ -1,14 +1,38 @@
#!/bin/sh
+#
+# $FreeBSD$
+
+p4d=@PREFIX@/sbin/p4d
+p4ftpd=@PREFIX@/sbin/p4ftpd
+
case $1 in
- start)
- [ -f @PREFIX@/etc/perforce ] && . @PREFIX@/etc/perforce
- if [ x$PERFORCE_START = xyes ]; then
- echo -n ' perforce'
- p4d -r $PERFORCE_ROOT $PERFORCE_OPTIONS
+start)
+ [ -f @PREFIX@/etc/perforce.conf ] && . @PREFIX@/etc/perforce.conf
+ if [ -x $p4d -a x$PERFORCE_START = xyes ]; then
+ echo -n ' p4d'
+ su -fm $PERFORCE_USER -c "$p4d -r $PERFORCE_ROOT $PERFORCE_OPTIONS"
fi
+ if [ -x $p4ftpd -a x$PERFORCE_FTPD_START = xyes ]; then
+ echo -n ' p4ftpd'
+ $p4ftpd $PERFORCE_FTPD_OPTIONS
+ fi
+ ;;
+stop)
+ [ -f @PREFIX@/etc/perforce.conf ] && . @PREFIX@/etc/perforce.conf
+ if [ -x $p4ftpd ]; then
+ killall -u 0 p4ftpd >/dev/null 2>&1 && echo -n ' p4ftpd'
+ fi
+ if [ -x $p4d ]; then
+ killall -u $PERFORCE_USER p4d >/dev/null 2>&1 && echo -n ' p4d'
+ fi
+ ;;
+restart)
+ $0 stop
+ sleep 1
+ $0 start
;;
- stop)
- killall p4d && echo -n ' perforce'
+*)
+ echo "usage: $0 {start|stop|restart}"
+ exit 64
;;
- *) ;;
esac