diff options
author | Conrad Kostecki <conrad@kostecki.com> | 2018-06-24 16:57:01 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2018-06-24 17:08:20 +0200 |
commit | 1f507b53652a60eff34f32115173d75402c36504 (patch) | |
tree | c9ff4db4e8abba6ed89b5ca45c222ccf17a5560f /media-sound/teamspeak-server | |
parent | media-sound/teamspeak-client-bin: renamed by dropping -bin suffix (diff) | |
download | gentoo-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')
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." +} |