summaryrefslogtreecommitdiff
path: root/www/cocoon/files/pkg-install.in
blob: afd4a733da2eb6b760c52cf4e63c71e4d3d7e25d (plain)
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
53
#!/bin/sh
#
# Checks if the requested user and group exist. If they don't, then
# an attempt is made to create both.
#
# $FreeBSD$
#
# Borrowed from the jakarta-tomcat port
#

set -e

RUNASUSER=%%RUNASUSER%%
RUNASUID=%%RUNASUID%%
GROUP=%%GROUP%%
GID=%%GID%%
APP_NAME=%%APP_NAME%%
PID_FILE=%%PID_FILE%%
LOG_FILE=%%LOG_FILE%%

if [ "$2" = "POST-INSTALL" ]; then
    # We're called after the 'make install' process
    # See if the group already exists
    if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then

        # If not, try to create it
        if pw groupadd ${GROUP} -g ${GID}; then
            echo "Added group \"${GROUP}\"."
        else
            echo "Adding group \"${GROUP}\" failed..."
            exit 1
        fi
    fi

    # See if the user already exists
    if ! pw usershow "${RUNASUSER}" 2>/dev/null 1>&2; then

        # If not, try to create it
        if pw useradd ${RUNASUSER} -u ${RUNASUID} -g ${GROUP} -h - \
            -s "/sbin/nologin" -d "/nonexistent" \
            -c "World Wide Web Owner"; \
        then
            echo "Added user \"${RUNASUSER}\"."
        else
            echo "Adding user \"${RUNASUSER}\" failed..."
            exit 1
        fi
    fi

    chown -R ${RUNASUSER}:${GROUP} $PKG_PREFIX/${APP_NAME}
fi

exit 0