diff options
Diffstat (limited to 'audio/teamspeak3-server')
-rw-r--r-- | audio/teamspeak3-server/pkg-install | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/audio/teamspeak3-server/pkg-install b/audio/teamspeak3-server/pkg-install new file mode 100644 index 000000000000..ebb6e3496a8f --- /dev/null +++ b/audio/teamspeak3-server/pkg-install @@ -0,0 +1,72 @@ +#! /bin/sh + +# $FreeBSD$ + +PATH=/bin:/usr/sbin +TSHOME=${PKG_PREFIX}/lib/teamspeak_server + +USER=teamspeak +GROUP=${USER} + +case $2 in +PRE-INSTALL) + if pw group show "${GROUP}" 2>/dev/null; then + echo "You already have a group \"${GROUP}\", so I will use it." + else + if pw groupadd ${GROUP}; then + echo "Added group \"${GROUP}\"." + else + echo "Adding group \"${GROUP}\" failed..." + exit 1 + fi + fi + + if pw user show "${USER}" 2>/dev/null; then + echo "You already have a user \"${USER}\", so I will use it." + else + if pw useradd ${USER} -g ${GROUP} -h - \ + -d ${TSHOME} -c "Teamspeak Server" + then + echo "Added user \"${USER}\"." + else + echo "Adding user \"${USER}\" failed..." + exit 1 + fi + fi + + if ! [ -x ~${USER} ] ; then + mkdir -p ${TSHOME} + chown ${USER}:${GROUP} ${TSHOME} + fi + ;; + +POST-INSTALL) + chown -R ${USER}:${GROUP} ${TSHOME} + chmod -R u+w,o-rx ${TSHOME} + ;; + + +POST-DEINSTALL) + if pw group show "${GROUP}" 2>/dev/null; then + if pw groupdel ${GROUP}; then + echo "Removed group \"${GROUP}\"." + else + echo "Removing group \"${GROUP}\" failed..." + exit 1 + fi + else + echo "Group \"${GROUP}\" doesn't exist!" + fi + + if pw user show "${USER}" 2>/dev/null; then + if pw userdel ${USER}; then + echo "Removed user \"${USER}\"." + else + echo "Removing user \"${USER}\" failed..." + exit 1 + fi + else + echo "User \"${USER}\" doesn't exist!" + fi + ;; +esac |