commit:     508464ed92376afc7f9e7f4a2779f82960cc8cf4
Author:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
AuthorDate: Thu Apr 30 18:14:59 2020 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Thu Apr 30 18:15:14 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=508464ed

media-video/syncplay: add initd script and confd conf

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> riseup.net>

 media-video/syncplay/files/syncplay-server-init    | 65 ++++++++++++++++++++++
 .../syncplay/files/syncplay-server-init-conf       | 14 +++++
 media-video/syncplay/syncplay-1.6.4_p1.ebuild      |  3 +
 3 files changed, 82 insertions(+)

diff --git a/media-video/syncplay/files/syncplay-server-init 
b/media-video/syncplay/files/syncplay-server-init
new file mode 100644
index 0000000..3018075
--- /dev/null
+++ b/media-video/syncplay/files/syncplay-server-init
@@ -0,0 +1,65 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/bin/python"
+command_args="/usr/bin/syncplay-server"
+name="syncplay server"
+pidfile="/run/syncplay-server.pid"
+
+description="Syncplay Server to synchronize media playback"
+
+start() {
+       ebegin "Starting ${name}"
+
+       args=()
+
+       if [[ ${port} ]]; then
+               args+=" --port=${port}"
+       fi
+
+       if [[ ${isolate} == True ]]; then
+               args+=" --isolate-rooms"
+       fi
+
+       if [[ ${password} ]]; then
+               args+=" --password=${password}"
+       fi
+
+       if [[ ${salt} ]]; then
+               args+=" --salt=${salt}"
+       fi
+
+       if [[ ${motd} ]]; then
+               args+=" --motd-file=${motd}"
+       fi
+
+       if [[ ${noReady} == True ]]; then
+               args+=" --disable-ready"
+       fi
+
+       if [[ ${noChat} == True ]]; then
+               args+=" --disable-chat"
+       fi
+
+       if [[ ${maxChatLength} ]]; then
+               args+=" --max-chat-message-length=${maxChatLength}"
+       fi
+
+       if [[ ${usernameLength} ]]; then
+               args+=" --max-username-length=${usernameLength}"
+       fi
+
+       if [[ ${statsFile} ]]; then
+               args+=" --stats-db-file=${statsFile}"
+       fi
+
+       if [[ ${tls} ]]; then
+               args+=" --tls=${tls}"
+       fi
+
+       start-stop-daemon --start --background --make-pid 
--pidfile="${pidfile}" \
+               --exec "${command}" -- "${command_args}" ${args}
+
+       eend $?
+}

diff --git a/media-video/syncplay/files/syncplay-server-init-conf 
b/media-video/syncplay/files/syncplay-server-init-conf
new file mode 100644
index 0000000..c07ef82
--- /dev/null
+++ b/media-video/syncplay/files/syncplay-server-init-conf
@@ -0,0 +1,14 @@
+# This is the file that syncplay service loads settings from, it does not 
affect the binary itself
+# See https://syncplay.pl/guide/server/ for a list of available flags and 
description
+
+#port="223"
+#isolate=False
+#password="yourpassword"
+#salt="RANDOMSALT"
+#motd="/etc/syncplay/motd"
+#noReady=False
+#noChat=False
+#maxChatLength="500"
+#usernameLength="20"
+#statsFile="/etc/syncplay/stats.db"
+#tls="/etc/letsencrypt/live/syncplay.example.com/"

diff --git a/media-video/syncplay/syncplay-1.6.4_p1.ebuild 
b/media-video/syncplay/syncplay-1.6.4_p1.ebuild
index 773ee01..5e5fc87 100644
--- a/media-video/syncplay/syncplay-1.6.4_p1.ebuild
+++ b/media-video/syncplay/syncplay-1.6.4_p1.ebuild
@@ -40,6 +40,9 @@ python_install() {
                emake "${MY_MAKEOPTS[@]}" install-client
        use server && \
                emake "${MY_MAKEOPTS[@]}" install-server
+
+       newinitd "${FILESDIR}/${PN}-server-init" "${PN}"
+       newconfd "${FILESDIR}/${PN}-server-init-conf" "${PN}"
 }
 
 pkg_postinst() {

Reply via email to