summaryrefslogtreecommitdiff
path: root/devel/p4/pkg-install
blob: 88b4d17472f4d2d3b1e538810eeb27db80c21092 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#! /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 
		mkdir -p $PERFORCE_HOME $PERFORCE_LOGS $PERFORCE_ROOT
		chown -R $USER:$GROUP $PERFORCE_HOME
	fi
	;;
esac