summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/teamspeak-server/DESCR11
-rw-r--r--net/teamspeak-server/Makefile88
-rw-r--r--net/teamspeak-server/PLIST2
-rw-r--r--net/teamspeak-server/distinfo8
-rw-r--r--net/teamspeak-server/files/teamspeak.sh119
5 files changed, 228 insertions, 0 deletions
diff --git a/net/teamspeak-server/DESCR b/net/teamspeak-server/DESCR
new file mode 100644
index 00000000000..e04f0240cfc
--- /dev/null
+++ b/net/teamspeak-server/DESCR
@@ -0,0 +1,11 @@
+TeamSpeak is a quality, scalable application which enables people
+to speak with one another over the Internet. TeamSpeak consists of
+both client and server software. The server acts as a host to
+multiple client connections, capable of handling literally thousands
+of simultaneous users. This results in an Internet based teleconferencing
+solution that works in a variety of applications such as team mates
+speaking with one another while playing their favorite online game,
+small businesses cutting costs on long distance charges, or for
+personal communication with friends and family.
+
+This package contains the TeamSpeak server for Linux/i386
diff --git a/net/teamspeak-server/Makefile b/net/teamspeak-server/Makefile
new file mode 100644
index 00000000000..c65f1f64bdc
--- /dev/null
+++ b/net/teamspeak-server/Makefile
@@ -0,0 +1,88 @@
+# $NetBSD: Makefile,v 1.1.1.1 2007/04/30 15:33:27 abs Exp $
+
+PKGNAME= teamspeak-server-2.0.23.15
+DISTNAME= ts2_server_rc2_20201
+CATEGORIES= net audio
+MASTER_SITES= ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/
+SITES.server_linux= ftp://ftp.freenet.de/pub/4players/teamspeak.org/developer/server/202315/
+EXTRACT_SUFX= .tar.bz2
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} server_linux
+DIST_SUBDIR= teamspeak
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= abs@NetBSD.org
+HOMEPAGE= http://www.goteamspeak.com/
+COMMENT= Teamspeak group VoIP server
+
+.include "../../emulators/suse_linux/Makefile.application"
+
+.if !defined(USE_NATIVE_LINUX)
+DEPENDS+= suse_base-[0-9]*:../../emulators/${SUSE_DIR_PREFIX}_base
+.endif
+
+ONLY_FOR_PLATFORM= *-*-i386
+
+RCD_SCRIPTS= teamspeak
+NO_CONFIGURE= yes
+USE_LANGUAGES=
+
+PLIST_SRC= ${WRKDIR}/PLIST
+
+RESTRICTED= Redistribution to third parties is expressly prohibited
+NO_SRC_ON_CDROM= ${RESTRICTED}
+NO_BIN_ON_FTP= ${RESTRICTED}
+NO_BIN_ON_CDROM= ${RESTRICTED}
+LICENSE= teamspeak-license
+
+WRKSRC= ${WRKDIR}/tss2_rc2
+EGDIR= ${PREFIX}/share/examples
+LIB_DIR= ${PREFIX}/lib/teamspeak-server
+DOC_DIR= ${PREFIX}/share/doc/teamspeak-server
+SHARE_DIR= ${PREFIX}/share/teamspeak-server
+HOMEBASE?= ${VARBASE}
+
+# TSUSER username of the teamspeak server user
+# TSGROUP group of the teamspeak server user
+# TSHOME home directory for the teamspeak server data
+#
+TSUSER?= teamspeak
+TSGROUP?= teamspeak
+TSHOME?= ${HOMEBASE}/${TSUSER}
+
+BUILD_DEFS+= TSUSER TSGROUP TSHOME
+
+PKG_GROUPS= ${TSGROUP}
+PKG_USERS= ${TSUSER}:${TSGROUP}
+PKG_GECOS.${TSUSER}= Teamspeak server user
+PKG_HOME.${TSUSER}= ${TSHOME}
+PKG_SHELL.${TSUSER}= ${SH}
+
+FILES_SUBST+= TSUSER=${TSUSER}
+
+do-build:
+ ${MV} ${WRKSRC}/Manual/_TeamSpeak\ RC2\ Server\ manual-1.png \
+ ${WRKSRC}/Manual/_TeamSpeak_RC2_Server_manual-1.png
+
+do-install:
+ ${INSTALL_DATA_DIR} ${LIB_DIR}
+ ${INSTALL_PROGRAM} ${DISTDIR}/${DIST_SUBDIR}/server_linux ${LIB_DIR}/teamspeak-server
+ ${INSTALL_LIB} ${WRKSRC}/*.so* ${LIB_DIR}
+ ${INSTALL_SCRIPT} -m 644 ${FILESDIR}/teamspeak.sh ${PREFIX}/share/examples/rc.d/teamspeak
+ for d in httpdocs tcpquerydocs mysql_sql sqlite_sql ; do \
+ ${INSTALL_DATA_DIR} ${SHARE_DIR}/$$d;\
+ cd ${WRKSRC}/$$d && ${PAX} -rw . ${SHARE_DIR}/$$d;\
+ ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${SHARE_DIR}/$$d;\
+ ${FIND} ${SHARE_DIR}/$$d -type f -print | ${XARGS} ${CHMOD} ${SHAREMODE};\
+ done
+ ${INSTALL_DATA_DIR} ${DOC_DIR}/Manual
+ ${INSTALL_DATA} -m 644 ${WRKSRC}/Manual/* ${DOC_DIR}/Manual
+ ${INSTALL_DATA} -m 644 ${WRKSRC}/changelog.txt ${DOC_DIR}
+ ${INSTALL_DATA} -m 644 ${WRKSRC}/manual.html ${DOC_DIR}
+ ${INSTALL_DATA} -m 644 ${WRKSRC}/README ${DOC_DIR}
+ ${INSTALL_DATA} -m 644 ${WRKSRC}/INSTALL ${DOC_DIR}
+ ${INSTALL_DATA} -m 644 ${WRKSRC}/INSTALL.mysql ${DOC_DIR}
+ ${CAT} ${PKGDIR}/PLIST > ${PLIST_SRC}
+ (cd ${PREFIX}; ${FIND} lib/teamspeak-server share/doc/teamspeak-server share/teamspeak-server -type f -print ) >> ${PLIST_SRC}
+ (cd ${PREFIX}; ${FIND} lib/teamspeak-server share/doc/teamspeak-server share/teamspeak-server -type d -print ) | ${SED} 's/^/@dirrm /' | ${SORT} -r >> ${PLIST_SRC}
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/teamspeak-server/PLIST b/net/teamspeak-server/PLIST
new file mode 100644
index 00000000000..72b4a1b280c
--- /dev/null
+++ b/net/teamspeak-server/PLIST
@@ -0,0 +1,2 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2007/04/30 15:33:27 abs Exp $
+share/examples/rc.d/teamspeak
diff --git a/net/teamspeak-server/distinfo b/net/teamspeak-server/distinfo
new file mode 100644
index 00000000000..ceafb6f0f04
--- /dev/null
+++ b/net/teamspeak-server/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1.1.1 2007/04/30 15:33:27 abs Exp $
+
+SHA1 (teamspeak/server_linux) = 7434d4240864b74a3628fdfa960f395d3bb8cfc2
+RMD160 (teamspeak/server_linux) = f4fa7f1d9781af33554e49d154639db3cd0e10ee
+Size (teamspeak/server_linux) = 947480 bytes
+SHA1 (teamspeak/ts2_server_rc2_20201.tar.bz2) = bb53e9ed76b3364d046ac7a709853161bfdb35a5
+RMD160 (teamspeak/ts2_server_rc2_20201.tar.bz2) = 7fbafd77bcd1b0765de97ae1401e8ac30740a6aa
+Size (teamspeak/ts2_server_rc2_20201.tar.bz2) = 1112816 bytes
diff --git a/net/teamspeak-server/files/teamspeak.sh b/net/teamspeak-server/files/teamspeak.sh
new file mode 100644
index 00000000000..a68d5f5d6ff
--- /dev/null
+++ b/net/teamspeak-server/files/teamspeak.sh
@@ -0,0 +1,119 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: teamspeak.sh,v 1.1.1.1 2007/04/30 15:33:27 abs Exp $
+#
+# PROVIDE: teamspeak
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# You will need to set the following in /etc/rc.conf to start Teamspeak:
+#
+# teamspeak=YES
+
+if [ -f /etc/rc.subr ]
+then
+ . /etc/rc.subr
+fi
+
+name="teamspeak"
+rcvar=$name
+teamspeak_user="@TSUSER@"
+eval teamspeak_home="~$teamspeak_user"
+extra_commands="passwords status"
+start_cmd="teamspeak_doit start"
+status_cmd="teamspeak_doit status"
+stop_cmd="teamspeak_doit stop"
+passwords_cmd="teamspeak_doit passwords"
+pidfile="$teamspeak_home/tsserver2.pid"
+logfile=$teamspeak_home/server.log
+
+SHARE=@PREFIX@/share/teamspeak-server
+SERVER=@PREFIX@/lib/teamspeak-server/teamspeak-server
+SERVER_ARGS="-ini=$teamspeak_home/server.ini -sql=$SHARE/sqlite_sql/ -httpdocs=$SHARE/httpdocs/ -tcpquerydocs=$SHARE/tcpquerydocs/ -db=$teamspeak_home/server.dbs -log=$logfile -pid=$pidfile -badnames=$teamspeak_home/badnames.txt"
+
+teamspeak_doit()
+{
+ case $1 in
+ start)
+ if [ ! -d "$teamspeak_home" -o ! -w "$teamspeak_home" ] ; then
+ echo "Unable to write to $teamspeak_home"
+ exit 1
+ fi
+ if [ -e $pidfile ]; then
+ echo "$pidfile already exists...server already started ?";
+ echo "If you are sure the server is not running, delete $pidfile"
+ exit 1
+ else
+ echo "starting the teamspeak2 server"
+ doit_command="$SERVER $SERVER_ARGS"
+ doit="@SU@ -m $teamspeak_user -c '${doit_command}'"
+ eval $doit
+ fi
+ ;;
+ stop)
+ if [ -e $pidfile ]; then
+ echo -n "stopping the teamspeak2 server"
+ if ( kill -TERM `cat $pidfile` ); then
+ for c in $(seq 1 300); do
+ if [ -e $pidfile ]; then
+ echo -n "."
+ sleep 1
+ fi
+ done
+ fi
+ if [ -e $pidfile ]; then
+ echo "server does not shutdown cleanly - killing"
+ kill -KILL `cat $pidfile`
+ rm $pidfile
+ sleep 5
+ else
+ echo "done"
+ fi
+ else
+ echo "$pidfile is missing, no started server ?"
+ exit 7
+ fi
+ ;;
+ status)
+ if [ -e $pidfile ]; then
+ pid=`cat $pidfile`
+ if kill -0 "$pid" ; then
+ echo "the server seems to be running: pid $pid"
+ exit 0
+ else
+ echo "the server seems to be stopped: pid $pid"
+ exit 3
+ fi
+ else
+ echo "the server seems to be stopped"
+ exit 3
+ fi
+ ;;
+ passwords)
+ if [ -e $logfile ]; then
+ date=$(cat $logfile | grep "admin account info: username: admin" | tail -n 1 | sed "s/^\([0-9]\+-[0-9]\+-[0-9]\+ [0-9]\+:[0-9]\+:[0-9]\+\).*$/\1/")
+ spass=$(cat $logfile | grep "superadmin account info: username: superadmin" | tail -n 1 | sed "s/^.*username: superadmin password: \([a-z0-9]\+\).*$/\1/")
+ pass=$(cat $logfile | grep "admin account info: username: admin" | tail -n 1 | sed "s/^.*username: admin password: \([a-z0-9]\+\).*$/\1/")
+ echo "Following passwords were generated on $date"
+ echo "superadmin = \"$spass\""
+ echo "admin = \"$pass\""
+ else
+ echo "$logfile not found, maybe you did not start the server yet ?"
+ exit 1
+ fi
+ ;;
+ esac
+}
+
+
+if [ -f /etc/rc.subr -a -f /etc/rc.conf -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]
+then
+ load_rc_config $name
+ run_rc_command "$1"
+else
+ teamspeak_doit "$1"
+fi
+
+
+# restart)
+# $0 stop && $0 start || exit 1