#!/bin/sh # # $FreeBSD: ports/www/horde-base/files/pkg-install.in,v 1.4 2007/04/08 23:42:25 sat Exp $ # # Copied from databases/phpmyadmin. # Used if WITH_SUPHP has been defined. PATH=/usr/sbin:/usr/bin:/bin ; export PATH WITH_SUPHP=%%WITH_SUPHP%% hordedir=/usr/local/www/horde/chora hordeusr= hordegrp=www hordegcos="Horde Owner" hordehome=/nonexistent hordeshell=/sbin/nologin create_group() { local user group gcos home shell user=$1 group=$2 gcos=$3 home=$4 shell=$5 if pw groupadd -n $group ; then echo "===> Group $group created" else cat <<-EOERRORMSG *** Failed to create the $group group. Please add the $user user and $group group manually with the commands: pw groupadd -n $group pw useradd -n $user -g $group -c "$gcos" \\ -d $home -s $shell -h - and retry installing this package. EOERRORMSG exit 1 fi } create_user() { local user group gcos home shell user=$1 group=$2 gcos=$3 home=$4 shell=$5 if pw useradd -n $user -g $group -c "$gcos" -d $home -s $shell -h - ; then echo "===> Created $user user" else cat <<-EOERRORMSG *** Failed to create the $user user. Please add the $user user manually with the command: pw useradd -n $user -g $group -c "$gcos" \\ -d $home -s $shell -h - and retry installing this package. EOERRORMSG exit 1 fi } case $2 in PRE-INSTALL) if [ $WITH_SUPHP != "yes" ]; then exit 0 fi # Create the horde user and group if they do not already exist if pw user show -n $hordeusr >/dev/null 2>&1 ; then echo "===> Using pre-existing user $hordeusr" else if ! pw group show -n $hordegrp >/dev/null 2>&1 ; then create_group $hordeusr $hordegrp "$hordegcos" $hordehome \ $hordeshell fi create_user $hordeusr $hordegrp "$hordegcos" $hordehome $hordeshell fi ;; POST-INSTALL) if [ $WITH_SUPHP = "yes" ]; then # Change ownership of the Horde directory echo "===> Adjusting file ownership in $hordedir" chown -R $hordeusr:$hordegrp $hordedir || exit 1 fi if [ -z "${PACKAGE_BUILDING}" ]; then # Copy over sample config files unless they already exist for cf in /usr/local/www/horde/chora/config/*.dist; do if [ ! -f ${cf%.dist} ]; then cp -p $cf ${cf%.dist} fi done fi ;; esac