aboutsummaryrefslogtreecommitdiffstats
path: root/devel/p4web/pkg-install
blob: d1f6a568f39b0df0e64975e566eb56184e8329a2 (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
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_LOGS=${PERFORCE_LOGS:-$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
        chmod 750 $PERFORCE_ROOT
    fi
    ;;
esac