#!/bin/sh
# $FreeBSD: ports/audio/slimserver/pkg-install,v 1.5 2004/12/31 00:17:05 brooks Exp $

name=slimserver
u=slimserv
g=slimserv
ugid=104
homedir=/nonexistent
shell=/sbin/nologin
comment="Slim Devices SlimServer pseudo-user"
statedir=/var/db/slimserver
cachedir=${statedir}/cache
playlistdir=${statedir}/playlists
pidfile=/var/run/${name}.pid
newsyslogfile=/etc/newsyslog.conf
logfile=/var/log/slimserver.log
logcomment="# added by audio/slimserver port"
logline="${logfile}	${u}:${g} 644 3	   100	*     Z     ${pidfile}"

case $2 in
PRE-INSTALL)
	if pw group show "${g}" >/dev/null 2>&1; then
		echo "Using existing group \"${g}\"."
	else
		echo "Creating group \"${g}\", (gid: ${ugid})."
		pw groupadd ${g} -g ${ugid}
		if [ $? != 0 ]; then
			echo "Failed to add group \"${g}\"."
			exit 1
		fi
	fi
	if pw user show "${u}" >/dev/null 2>&1; then
		echo "Using existing user \"${u}\"."
	else
		echo "Creating user \"${u}\", (uid: ${ugid})."
		pw useradd ${u} -u ${ugid} -g ${ugid} -h - \
		    -d ${homedir} -s ${shell} -c "${comment}"
		if [ $? != 0 ]; then
			echo "Failed to add user \"${u}\"."
			exit 1
		fi
	fi
	;;
POST-INSTALL)
	if [ ! -d ${statedir} ]; then
		mkdir -p ${statedir}
		chown -R ${u}:${g} ${statedir}
	fi
	if [ ! -d ${cachedir} ]; then
		mkdir -p ${cachedir}
		chown -R ${u}:${g} ${cachedir}
	fi
	if [ ! -d ${playlistdir} ]; then
		mkdir -p ${playlistdir}
		chown -R ${u}:${g} ${playlistdir}
	fi
	if egrep -q "^${logfile}\>" ${newsyslogfile}; then
		echo "Using existing ${newsyslogfile} entry."
	else
		echo "Adding slimserver log entry to ${newsyslogfile}."
		echo "$logcomment" >> ${newsyslogfile}
		echo "$logline" >> ${newsyslogfile}
	fi
	;;
esac
