summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conrad@kostecki.com>2018-06-24 16:57:01 +0200
committerMichał Górny <mgorny@gentoo.org>2018-06-24 17:08:20 +0200
commit1f507b53652a60eff34f32115173d75402c36504 (patch)
treec9ff4db4e8abba6ed89b5ca45c222ccf17a5560f /media-sound/teamspeak-server
parentmedia-sound/teamspeak-client-bin: renamed by dropping -bin suffix (diff)
downloadgentoo-1f507b53652a60eff34f32115173d75402c36504.tar.gz
gentoo-1f507b53652a60eff34f32115173d75402c36504.tar.bz2
gentoo-1f507b53652a60eff34f32115173d75402c36504.zip
media-sound/teamspeak-server-bin: renamed by dropping -bin suffix
Closes: https://github.com/gentoo/gentoo/pull/8436
Diffstat (limited to 'media-sound/teamspeak-server')
-rw-r--r--media-sound/teamspeak-server/Manifest2
-rw-r--r--media-sound/teamspeak-server/files/teamspeak.initd45
-rw-r--r--media-sound/teamspeak-server/files/teamspeak.service16
-rw-r--r--media-sound/teamspeak-server/files/teamspeak.tmpfiles4
-rw-r--r--media-sound/teamspeak-server/files/ts3db_mariadb.ini.sample7
-rw-r--r--media-sound/teamspeak-server/files/ts3server-bin10
-rw-r--r--media-sound/teamspeak-server/files/ts3server.ini23
-rw-r--r--media-sound/teamspeak-server/files/ts3server_mariadb.ini.sample23
-rw-r--r--media-sound/teamspeak-server/metadata.xml21
-rw-r--r--media-sound/teamspeak-server/teamspeak-server-3.2.0.ebuild125
10 files changed, 276 insertions, 0 deletions
diff --git a/media-sound/teamspeak-server/Manifest b/media-sound/teamspeak-server/Manifest
new file mode 100644
index 000000000000..1fe5924f0017
--- /dev/null
+++ b/media-sound/teamspeak-server/Manifest
@@ -0,0 +1,2 @@
+DIST teamspeak3-server_linux_amd64-3.2.0.tar.bz2 7850988 BLAKE2B 00bcbe3bf1a6352a7366f6e3821dd98158cfc1b84711e031b2e1fb75bf1f96abf64a6de00ed833ab2b34ea564c359c2f32c75205afa9c80474bda53790f29f48 SHA512 b9ecfb8f9619e3716a1a2f38d1ee3239b4fb6bc12f928d3b9b5b4780bbee63d43d029606f4b945b741c61c10ea3ced764137c68a8462fb1660a9cc058aa80109
+DIST teamspeak3-server_linux_x86-3.2.0.tar.bz2 7694652 BLAKE2B 0e937292af8cd93f5be61c02f70cf629a158956dc3b87a17a82c3671d0702d707d19e08f8fbc5f2bfc44565e8bce0af59227441e1d883536b766f878727625f3 SHA512 022713795c37aa59d607649db2b602da5e84b881da16b4522d3a4c235b322eb41793176414e740e9db73e2556d0ef6560702969d1c536a05fc6c4bbed550dbad
diff --git a/media-sound/teamspeak-server/files/teamspeak.initd b/media-sound/teamspeak-server/files/teamspeak.initd
new file mode 100644
index 000000000000..cc8393b58db7
--- /dev/null
+++ b/media-sound/teamspeak-server/files/teamspeak.initd
@@ -0,0 +1,45 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+command="/opt/bin/ts3server"
+command_background="true"
+group="teamspeak"
+inifile="/etc/teamspeak3-server/ts3server.ini"
+name="TeamSpeak Server"
+pidfile="/run/teamspeak3-server/server.pid"
+user="teamspeak"
+
+depend() {
+ need net
+ use mysql
+}
+
+start_pre() {
+ # ensure, that the TS3-server finds all custom supplied shared objects on startup.
+ LD_LIBRARY_PATH="/opt/teamspeak3-server:$LD_LIBRARY_PATH"
+ export LD_LIBRARY_PATH
+
+ # temporay fix for EPERM bug (we still leave it here to make sure it is *really* not there)
+ rm -f /dev/shm/7gbhujb54g8z9hu43jre8
+
+ checkpath -d --owner ${user}:${group} --mode 0700 /run/teamspeak3-server
+}
+
+start() {
+ ebegin "Starting ${name}"
+
+ start-stop-daemon --start --quiet --background --env "TS3SERVER_LICENSE=accept" \
+ --pidfile "${pidfile}" --make-pidfile \
+ --user "${user}" --group "${group}" --chdir "/opt/teamspeak3-server" \
+ --exec "${command}" -- \
+ inifile="${inifile}"
+
+ eend $?
+}
+
+restart() {
+ stop
+ sleep 3
+ start
+}
diff --git a/media-sound/teamspeak-server/files/teamspeak.service b/media-sound/teamspeak-server/files/teamspeak.service
new file mode 100644
index 000000000000..0c77e4cbe756
--- /dev/null
+++ b/media-sound/teamspeak-server/files/teamspeak.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=TeamSpeak3 Server
+After=network-online.target
+
+[Service]
+Type=simple
+User=teamspeak
+Group=teamspeak
+WorkingDirectory=/opt/teamspeak3-server
+Environment="LD_LIBRARY_PATH=/opt/teamspeak3-server"
+Environment="TS3SERVER_LICENSE=accept"
+ExecStartPre=/bin/rm -f /dev/shm/7gbhujb54g8z9hu43jre8
+ExecStart=/opt/bin/ts3server inifile=/etc/teamspeak3-server/ts3server.ini
+
+[Install]
+WantedBy=multi-user.target
diff --git a/media-sound/teamspeak-server/files/teamspeak.tmpfiles b/media-sound/teamspeak-server/files/teamspeak.tmpfiles
new file mode 100644
index 000000000000..1b1d7f0e9902
--- /dev/null
+++ b/media-sound/teamspeak-server/files/teamspeak.tmpfiles
@@ -0,0 +1,4 @@
+# systemd tmpfile settings for teamspeak3-server
+# See tmpfiles.d(5) for details
+
+d /var/run/teamspeak3 0755 teamspeak teamspeak -
diff --git a/media-sound/teamspeak-server/files/ts3db_mariadb.ini.sample b/media-sound/teamspeak-server/files/ts3db_mariadb.ini.sample
new file mode 100644
index 000000000000..0a8ebc47df1f
--- /dev/null
+++ b/media-sound/teamspeak-server/files/ts3db_mariadb.ini.sample
@@ -0,0 +1,7 @@
+[config]
+host=localhost
+port=3306
+username=teamspeak
+password=teamspeak
+database=teamspeak
+socket=
diff --git a/media-sound/teamspeak-server/files/ts3server-bin b/media-sound/teamspeak-server/files/ts3server-bin
new file mode 100644
index 000000000000..3deb9dd87e5f
--- /dev/null
+++ b/media-sound/teamspeak-server/files/ts3server-bin
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# Sets BASEDIR for teamspeak3-server
+BASEDIR="/opt/teamspeak3-server"
+
+# Work around DT_RPATH (.) security issue by chdir'ing into expected $LD_LIBRARY_PATH
+export LD_LIBRARY_PATH="${BASEDIR}${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"
+
+# Launch teamspeak3-server
+cd "${BASEDIR}" && exec "${BASEDIR}/ts3server" $*
diff --git a/media-sound/teamspeak-server/files/ts3server.ini b/media-sound/teamspeak-server/files/ts3server.ini
new file mode 100644
index 000000000000..962c8b80f0ad
--- /dev/null
+++ b/media-sound/teamspeak-server/files/ts3server.ini
@@ -0,0 +1,23 @@
+machine_id=
+default_voice_port=9987
+voice_ip=
+licensepath=/opt/teamspeak3-server/
+filetransfer_port=30033
+filetransfer_ip=
+query_port=10011
+query_ip=0.0.0.0, ::
+query_ip_whitelist=query_ip_whitelist.txt
+query_ip_blacklist=query_ip_blacklist.txt
+dbplugin=ts3db_sqlite3
+dbpluginparameter=
+dbsqlpath=/opt/teamspeak3-server/sql/
+dbsqlcreatepath=create_sqlite/
+dbconnections=10
+logpath=/var/log/teamspeak3-server/
+logquerycommands=0
+dbclientkeepdays=30
+logappend=0
+query_skipbruteforcecheck=0
+query_buffer_mb=20
+http_proxy=
+license_accepted=1
diff --git a/media-sound/teamspeak-server/files/ts3server_mariadb.ini.sample b/media-sound/teamspeak-server/files/ts3server_mariadb.ini.sample
new file mode 100644
index 000000000000..94cea8bbe9d8
--- /dev/null
+++ b/media-sound/teamspeak-server/files/ts3server_mariadb.ini.sample
@@ -0,0 +1,23 @@
+machine_id=
+default_voice_port=9987
+voice_ip=
+licensepath=/opt/teamspeak3-server/
+filetransfer_port=30033
+filetransfer_ip=
+query_port=10011
+query_ip=0.0.0.0, ::
+query_ip_whitelist=query_ip_whitelist.txt
+query_ip_blacklist=query_ip_blacklist.txt
+dbplugin=ts3db_mariadb
+dbpluginparameter=ts3db_mariadb.ini
+dbsqlpath=/opt/teamspeak3-server/sql/
+dbsqlcreatepath=create_mariadb/
+dbconnections=10
+logpath=/var/log/teamspeak3-server/
+logquerycommands=0
+dbclientkeepdays=30
+logappend=0
+query_skipbruteforcecheck=0
+query_buffer_mb=20
+http_proxy=
+license_accepted=1
diff --git a/media-sound/teamspeak-server/metadata.xml b/media-sound/teamspeak-server/metadata.xml
new file mode 100644
index 000000000000..812b26bfd184
--- /dev/null
+++ b/media-sound/teamspeak-server/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ck+gentoo@bl4ckb0x.de</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ TeamSpeak is a proprietary voice-over-Internet Protocol (VoIP) application
+ for audio communication between users on a chat channel, much like a telephone conference call.
+ Users typically use headphones with a microphone.
+ The server software allows users to connect and join chat channels.
+ </longdescription>
+ <use>
+ <flag name="tsdns">Install TeamSpeaks own DNS service.</flag>
+ </use>
+</pkgmetadata>
diff --git a/media-sound/teamspeak-server/teamspeak-server-3.2.0.ebuild b/media-sound/teamspeak-server/teamspeak-server-3.2.0.ebuild
new file mode 100644
index 000000000000..aa03952e42e4
--- /dev/null
+++ b/media-sound/teamspeak-server/teamspeak-server-3.2.0.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd user
+
+DESCRIPTION="A server software for hosting quality voice communication via the internet"
+HOMEPAGE="https://www.teamspeak.com/"
+SRC_URI="amd64? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/teamspeak3-server_linux_amd64-${PV}.tar.bz2 )
+ x86? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/teamspeak3-server_linux_x86-${PV}.tar.bz2 )"
+
+LICENSE="LGPL-2.1 teamspeak3"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="doc mysql tsdns"
+
+RDEPEND="mysql? ( <dev-libs/openssl-1.1:0=
+ sys-libs/zlib:= )"
+
+RESTRICT="mirror strip"
+
+S="${WORKDIR}/teamspeak3-server_linux"
+
+QA_PREBUILT="opt/teamspeak3-server/libmariadb.so.2
+ opt/teamspeak3-server/libts3db_mariadb.so
+ opt/teamspeak3-server/libts3db_sqlite3.so
+ opt/teamspeak3-server/ts3server"
+
+pkg_setup() {
+ enewgroup teamspeak
+ enewuser teamspeak -1 -1 /opt/teamspeak3-server teamspeak
+}
+
+src_unpack() {
+ unpack ${A}
+
+ if use amd64; then
+ mv "teamspeak3-server_linux_amd64" "teamspeak3-server_linux" || die
+ else
+ mv "teamspeak3-server_linux_x86" "teamspeak3-server_linux" || die
+ fi
+}
+
+src_install() {
+ touch "${T%/}"/.ts3server_license_accepted || die
+ insinto "/opt/teamspeak3-server"
+ doins "${T}"/.ts3server_license_accepted
+
+ exeinto "/opt/teamspeak3-server"
+ doexe "ts3server"
+ doexe "${FILESDIR}/ts3server-bin"
+ dodir "/opt/bin"
+ dosym "../teamspeak3-server/ts3server-bin" "/opt/bin/ts3server"
+
+ exeinto "/opt/teamspeak3-server"
+ doexe "libts3db_sqlite3.so"
+
+ insinto "/opt/teamspeak3-server/sql"
+ doins "sql"/*.sql
+ doins -r "sql/create_sqlite"
+
+ insinto "/etc/teamspeak3-server"
+ doins "${FILESDIR}/ts3server.ini"
+
+ newinitd "${FILESDIR}/teamspeak.initd" teamspeak3-server
+ systemd_newunit "${FILESDIR}/teamspeak.service" teamspeak3-server.service
+ systemd_newtmpfilesd "${FILESDIR}/teamspeak.tmpfiles" teamspeak3-server.conf
+
+ if use mysql; then
+ insinto "/etc/teamspeak3-server"
+ doins "${FILESDIR}/ts3server_mariadb.ini.sample"
+ doins "${FILESDIR}/ts3db_mariadb.ini.sample"
+
+ exeinto "/opt/teamspeak3-server"
+ doexe "libts3db_mariadb.so"
+ doexe "redist/libmariadb.so.2"
+
+ insinto "/opt/teamspeak3-server/sql"
+ doins -r "sql/create_mariadb"
+ doins -r "sql/updates_and_fixes"
+ fi
+
+ if use doc; then
+ local HTML_DOCS=( "doc/serverquery/." )
+
+ docinto "serverquery"
+ dodoc "serverquerydocs"/*.txt
+
+ docinto "ts3server"
+ dodoc "doc"/*.txt
+ fi
+
+ if use tsdns; then
+ exeinto "/opt/teamspeak3-server"
+ doexe "tsdns/tsdnsserver"
+ dodir "/opt/bin"
+ dosym "../teamspeak3-server/tsdnsserver" "/opt/bin/tsdnsserver"
+
+ insinto "/etc/teamspeak3-server"
+ doins "tsdns/tsdns_settings.ini.sample"
+
+ docinto "tsdns"
+ dodoc "tsdns/README" "tsdns/USAGE"
+ fi
+
+ einstalldocs
+
+ keepdir "/etc/teamspeak3-server"
+ keepdir "/var/log/teamspeak3-server"
+
+ if use mysql; then
+ echo "CONFIG_PROTECT=\"/etc/teamspeak3-server/ts3server.ini /etc/teamspeak3-server/ts3server_mariadb.ini\"" > "${T}"/99teamspeak3-server || die
+ else
+ echo "CONFIG_PROTECT=\"/etc/teamspeak3-server/ts3server.ini\"" > "${T}"/99teamspeak3-server || die
+ fi
+ doenvd "${T}"/99teamspeak3-server
+
+ fowners -R teamspeak:teamspeak "/etc/teamspeak3-server" "/opt/teamspeak3-server" "/var/log/teamspeak3-server"
+}
+
+pkg_postinst() {
+ elog "If you have a Non-Profit License (NPL),"
+ elog "place it in /opt/teamspeak3-server as licensekey.dat."
+}