Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Mar 2006 04:51:18 -0500
From:      "Anish Mistry" <amistry@am-productions.biz>
To:        "FreeBSD gnats submit" <FreeBSD-gnats-submit@FreeBSD.org>
Subject:   ports/95071: New Port: audio/ventrilo-server
Message-ID:  <1143625878.94631@bigguy.am-productions.biz>
Resent-Message-ID: <200603290950.k2T9oF0W068543@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         95071
>Category:       ports
>Synopsis:       New Port: audio/ventrilo-server
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 29 09:50:15 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Anish Mistry
>Release:        FreeBSD 6.1-PRERELEASE i386
>Organization:
AM Productions 
>Environment:


System: FreeBSD 6.1-PRERELEASE #0: Sun Mar 12 15:46:31 EST 2006
    amistry@bigguy.am-productions.biz:/usr/obj/usr/src/sys/BIGGUY



>Description:


The server component for the Ventrilo VoIP chat program.  I needed to do a bit of trickery to get the distfile to fetch automatically.  Since you can't specify separate locations for the log and pid files I just created a directory in prefix.  Once you've started the server once it leaves a log file in the directory so things don't get cleaned up on deinstall.  If there are better ways to do things let me know.


>How-To-Repeat:





>Fix:


--- ventrilo.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	ventrilo-server
#	ventrilo-server/files
#	ventrilo-server/files/ventrilo-server.sh.in
#	ventrilo-server/Makefile
#	ventrilo-server/distinfo
#	ventrilo-server/pkg-descr
#	ventrilo-server/pkg-install
#	ventrilo-server/pkg-plist
#	ventrilo-server/pkg-message
#
echo c - ventrilo-server
mkdir -p ventrilo-server > /dev/null 2>&1
echo c - ventrilo-server/files
mkdir -p ventrilo-server/files > /dev/null 2>&1
echo x - ventrilo-server/files/ventrilo-server.sh.in
sed 's/^X//' >ventrilo-server/files/ventrilo-server.sh.in << 'END-of-ventrilo-server/files/ventrilo-server.sh.in'
X#!/bin/sh
X
X# PROVIDE: ventrilo
X# REQUIRE: NETWORKING
X# KEYWORD: FreeBSD shutdown
X
X[ -z "${ventrilo_enable}" ] && ventrilo_enable="NO"
X[ -z "${ventrilo_port}" ] && ventrilo_port="3784"
X[ -z "${ventrilo_srv}" ] && ventrilo_srv="localhost"
X
X. /etc/rc.subr
X
Xprefix=%%PREFIX%%
X
Xname=ventrilo
Xhomedir="${prefix}/ventrilo-server"
Xpidfile="${homedir}/ventrilo_srv.pid"
Xventrilo_user=${name}
Xcommand="${homedir}/ventrilo_srv"
Xcommand_args="'-f${homedir}/ventrilo_srv' -d >/dev/null"
Xextra_commands="info"
Xinfo_cmd="ventrilo_info"
X
Xrcvar=`set_rcvar`
X
Xload_rc_config $name
X
Xventrilo_info()
X{
X	if [ "$1" != "" ]; then
X		ventrilo_srv="$1"
X	fi
X	if [ "$2" != "" ]; then
X		ventrilo_port="$2"
X	fi
X	echo -n "Password []: "
X	read ventrilo_passwd
X	${homedir}/ventrilo_status -c2 "-t${ventrilo_srv}:${ventrilo_port}:${ventrilo_passwd}"
X}
X
Xrun_rc_command $*
END-of-ventrilo-server/files/ventrilo-server.sh.in
echo x - ventrilo-server/Makefile
sed 's/^X//' >ventrilo-server/Makefile << 'END-of-ventrilo-server/Makefile'
X# New ports collection makefile for:	ventrilo-server
X# Date created:				29 March 2006
X# Whom:					Anish Mistry
X#
X# $FreeBSD$
X#
X
XPORTNAME=	ventrilo
XPORTVERSION=	2.3.1
XCATEGORIES=	audio net
XMASTER_SITES=	# http://www.ventrilo.com/download.php
XPKGNAMESUFFIX=	-server
XDISTNAME=	ventrilo_srv-${PORTVERSION}-FreeBSD-i386
X
XMAINTAINER=	amistry@am-productions.biz
XCOMMENT=	Server side of the Ventrilo group voice chat system
X
XFETCH_DEPENDS=	${LOCALBASE}/bin/wget:${PORTSDIR}/ftp/wget
XLIB_DEPENDS=	c.4:${PORTSDIR}/misc/compat4x
X
XONLY_FOR_ARCHS=	i386
XNO_BUILD=	yes
XRESTRICTED=	Redistribution of pre-compiled binaries is not permitted
XNO_CDROM=	Redistribution of pre-compiled binaries is not permitted
XINSTALL_DIR=	${LOCALBASE}/ventrilo-server
XUSE_RC_SUBR=	${PORTNAME}${PKGNAMESUFFIX}.sh
XVENT_USER=	${PORTNAME}
XFETCH_CMD=	${LOCALBASE}/bin/wget
X
X.include <bsd.port.pre.mk>
X
Xdo-fetch:
X.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})
X	${FETCH_CMD} --post-data "Download=Download" "http://download1.ventrilo.com/dl.php?server_freebsd_i386&2332415189" -O "${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}"
X.endif
X
Xdo-extract:
X	@${MKDIR} ${WRKSRC}
X	@${TAR} -C ${WRKSRC} -zxf ${DISTDIR}/${DISTFILES}
X
Xdo-install:
X	@ ${SETENV} PKG_PREFIX=${PREFIX} \
X		${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL
X	@${MKDIR} ${INSTALL_DIR}
X	@${CHOWN} ${VENT_USER} ${INSTALL_DIR}
X	${INSTALL_PROGRAM} ${WRKSRC}/ventrilo_srv ${INSTALL_DIR}
X	${INSTALL_PROGRAM} ${WRKSRC}/ventrilo_status ${INSTALL_DIR}
X	${INSTALL_DATA} ${WRKSRC}/ventrilo_srv.htm ${INSTALL_DIR}
X	${INSTALL_DATA} ${WRKSRC}/LICENSE ${INSTALL_DIR}
X.if !exists(${LOCALBASE}/etc/ventrilo_srv.ini)
X	${INSTALL_DATA} ${WRKSRC}/ventrilo_srv.ini ${LOCALBASE}/etc
X.endif
X	${LN} -s ${LOCALBASE}/etc/ventrilo_srv.ini ${INSTALL_DIR}/ventrilo_srv.ini
X	${CHMOD} 0640 ${LOCALBASE}/etc/ventrilo_srv.ini
X	${CHGRP} ${VENT_USER} ${LOCALBASE}/etc/ventrilo_srv.ini
X
Xpost-install:
X	@${SED} -e "s|%%PREFIX%%|${PREFIX}|g" ${PKGMESSAGE}
X
Xpost-deinstall:
X	@ ${SETENV} PKG_PREFIX=${PREFIX} \
X		${SH} ${PKGDEINSTALL} ${PORTNAME} POST-DEINSTALL
X
XPKGDEINSTALL=	${PKGINSTALL}
X.include <bsd.port.post.mk>
END-of-ventrilo-server/Makefile
echo x - ventrilo-server/distinfo
sed 's/^X//' >ventrilo-server/distinfo << 'END-of-ventrilo-server/distinfo'
XMD5 (ventrilo_srv-2.3.1-FreeBSD-i386.tar.gz) = 5f521245c5fef2ff96f4218e718c7906
XSHA256 (ventrilo_srv-2.3.1-FreeBSD-i386.tar.gz) = f949899a8d82ba99c56278d26af095925bced646b50ab49fe386b7d5c50d1590
XSIZE (ventrilo_srv-2.3.1-FreeBSD-i386.tar.gz) = 119690
END-of-ventrilo-server/distinfo
echo x - ventrilo-server/pkg-descr
sed 's/^X//' >ventrilo-server/pkg-descr << 'END-of-ventrilo-server/pkg-descr'
XThe server for Ventrilo is a voice chat program which supports multiple
Xchannels with different rate codecs and several people on each channel.
XPrimarily aimed at team gamers but can be used as an IP phone as well.
X
XWWW: http://www.ventrilo.com/
END-of-ventrilo-server/pkg-descr
echo x - ventrilo-server/pkg-install
sed 's/^X//' >ventrilo-server/pkg-install << 'END-of-ventrilo-server/pkg-install'
X#! /bin/sh
X
XPATH=/bin:/usr/sbin
XHOMEDIR=${PKG_PREFIX}/ventrilo-server
XNAME="Ventrilo"
X
XUSER=ventrilo
XGROUP=${USER}
X
Xcase $2 in
XPRE-INSTALL)
X	if pw group show "${GROUP}" 2>/dev/null; then
X		echo "You already have a group \"${GROUP}\", so I will use it."
X	else
X		if pw groupadd ${GROUP}; then
X			echo "Added group \"${GROUP}\"."
X		else
X			echo "Adding group \"${GROUP}\" failed..."
X			exit 1
X		fi
X	fi
X
X	if pw user show "${USER}" 2>/dev/null; then
X		echo "You already have a user \"${USER}\", so I will use it."
X	else
X		if pw useradd ${USER} -g ${GROUP} -h - \
X			-d ${HOMEDIR} -c "${NAME} Server"
X		then
X			echo "Added user \"${USER}\"."
X		else
X			echo "Adding user \"${USER}\" failed..."
X			exit 1
X		fi
X	fi
X
X	if ! [ -x ~${USER} ] ; then 
X		mkdir -p "${HOMEDIR}"
X		chown ${USER}:${GROUP} "${HOMEDIR}"
X	fi
X	;;
X
XPOST-DEINSTALL)
X	if pw group show "${GROUP}" 2>/dev/null; then
X		if pw groupdel ${GROUP}; then
X			echo "Removed group \"${GROUP}\"."
X		else
X			echo "Removing group \"${GROUP}\" failed..."
X			exit 1
X		fi
X	else
X		echo "Group \"${GROUP}\" doesn't exist!"
X	fi
X
X	if pw user show "${USER}" 2>/dev/null; then
X		if pw userdel ${USER}; then
X			echo "Removed user \"${USER}\"."
X		else
X			echo "Removing user \"${USER}\" failed..."
X			exit 1
X		fi
X	else
X		echo "User \"${USER}\" doesn't exist!"
X	fi
X	;;
Xesac
END-of-ventrilo-server/pkg-install
echo x - ventrilo-server/pkg-plist
sed 's/^X//' >ventrilo-server/pkg-plist << 'END-of-ventrilo-server/pkg-plist'
Xventrilo-server/LICENSE
Xventrilo-server/ventrilo_srv
Xventrilo-server/ventrilo_status
Xventrilo-server/ventrilo_srv.htm
Xventrilo-server/ventrilo_srv.ini
X@dirrm ventrilo-server
END-of-ventrilo-server/pkg-plist
echo x - ventrilo-server/pkg-message
sed 's/^X//' >ventrilo-server/pkg-message << 'END-of-ventrilo-server/pkg-message'
XVentrilo Hints:
X
XYou can retrieve server status information for any servers, provided
Xthat you know the password using the RC script.
XExamples:
XFor the localhost's status information:
X%%PREFIX%%/etc/rc.d/ventrilo-server info
X
XQuery a remote server on a different port:
X%%PREFIX%%/etc/rc.d/ventrilo-server info remote.example.org 4000
END-of-ventrilo-server/pkg-message
exit

--- ventrilo.shar ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1143625878.94631>