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>