aboutsummaryrefslogtreecommitdiffstats
path: root/devel/p4web/pkg-install
diff options
context:
space:
mode:
Diffstat (limited to 'devel/p4web/pkg-install')
-rw-r--r--devel/p4web/pkg-install52
1 files changed, 52 insertions, 0 deletions
diff --git a/devel/p4web/pkg-install b/devel/p4web/pkg-install
new file mode 100644
index 000000000000..b1c9c5d72e22
--- /dev/null
+++ b/devel/p4web/pkg-install
@@ -0,0 +1,52 @@
+#! /bin/sh
+#
+# $FreeBSD$
+
+PATH=/bin:/usr/sbin
+
+PERFORCE_USER=${PERFORCE_USER:-p4admin}
+PERFORCE_UID=${PERFORCE_UID:-94}
+PERFORCE_GROUP=${PERFORCE_GROUP:-p4admin}
+PERFORCE_GID=${PERFORCE_GID:-94}
+PERFORCE_HOME=${PERFORCE_HOME:-$PKG_PREFIX/perforce}
+PERFORCE_LOGDIR=${PERFORCE_LOGDIR:-$PERFORCE_HOME/log}
+PERFORCE_ROOT=${PERFORCE_ROOT:-$PERFORCE_HOME/root}
+
+case $2 in
+PRE-INSTALL)
+ USER=${PERFORCE_USER}
+ GROUP=${PERFORCE_GROUP}
+ UID=${PERFORCE_UID}
+ GID=${PERFORCE_GID}
+
+ if pw group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if pw groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if pw user show "${USER}" 2>/dev/null; then
+ echo "You already have a user \"${USER}\", so I will use it."
+ else
+ if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
+ -d ${PERFORCE_HOME} -c "Perforce admin" -s /sbin/nologin
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if [ ! -d $PERFORCE_HOME ] ; then
+echo hey
+ mkdir -p $PERFORCE_HOME $PERFORCE_LOGS $PERFORCE_ROOT
+ chown -R $USER:$GROUP $PERFORCE_HOME
+ fi
+ ;;
+esac