#!/bin/sh
#
# Checks if the requested user and group exist. If they don't, then
# an attempt is made to create both.
#
# $FreeBSD: ports/www/resin3/files/pkg-install,v 1.1 2003/11/20 21:44:14 glewis Exp $
#
# Borrowed from the jakarta-tomcat port
#

set -e

RUNASUSER=%%RUNASUSER%%
RUNASUID=%%RUNASUID%%
GROUP=%%GROUP%%
GID=%%GID%%

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
