#!/bin/sh # # Checks if the requested user and group exist. If they don't, then # an attempt is made to create both. # # $FreeBSD: head/www/cocoon/files/pkg-install.in 340719 2014-01-22 15:52:06Z mat $ # # 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