commit: 5d422846d205d1e41cc113f53d5627100e3e7e54
Author: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Tue Apr 9 05:21:55 2024 +0000
Commit: Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
CommitDate: Tue Apr 9 05:21:55 2024 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=5d422846
net-im/eturnal: add new openrc init file
"eturnalctl daemon" is very unreliable, and also I forgot slot operator
on Erlang.
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>
...rnal-1.12.0.ebuild => eturnal-1.12.0-r1.ebuild} | 5 +--
net-im/eturnal/files/eturnal.initd | 46 ++++++++++++++++++++++
2 files changed, 48 insertions(+), 3 deletions(-)
diff --git a/net-im/eturnal/eturnal-1.12.0.ebuild
b/net-im/eturnal/eturnal-1.12.0-r1.ebuild
similarity index 94%
rename from net-im/eturnal/eturnal-1.12.0.ebuild
rename to net-im/eturnal/eturnal-1.12.0-r1.ebuild
index 15affd64f8..acb6aa0f5d 100644
--- a/net-im/eturnal/eturnal-1.12.0.ebuild
+++ b/net-im/eturnal/eturnal-1.12.0-r1.ebuild
@@ -18,7 +18,7 @@ KEYWORDS="~amd64"
DEPEND="
acct-user/eturnal
- >=dev-lang/erlang-21[ssl]
+ >=dev-lang/erlang-21:=[ssl]
dev-libs/libyaml
dev-libs/openssl:=
>=dev-erlang/conf-0.1
@@ -42,7 +42,6 @@ src_configure() {
export CODE_LOADING=dynamic
export SKIP_DEPS=true
-
rebar3_src_configure
}
@@ -51,7 +50,7 @@ rebar3_install_release() {
cp -pR bin lib releases "${ED}"/opt/eturnal/ || die
systemd_dounit etc/systemd/system/eturnal.service
- newinitd etc/openrc/eturnal.initd eturnal
+ newinitd "${FILESDIR}"/eturnal.initd eturnal
newconfd etc/openrc/eturnal.confd eturnal
insinto /etc
diff --git a/net-im/eturnal/files/eturnal.initd
b/net-im/eturnal/files/eturnal.initd
new file mode 100644
index 0000000000..5d567d5a2b
--- /dev/null
+++ b/net-im/eturnal/files/eturnal.initd
@@ -0,0 +1,46 @@
+#!/sbin/openrc-run
+# shellcheck shell=sh
+#
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+command="/usr/sbin/eturnalctl"
+command_args="foreground"
+command_user="eturnal:turnserver"
+command_background=1
+pidfile="/run/eturnal.pid"
+capabilities="^cap_net_bind_service"
+healthcheck_delay=300
+healthcheck_timer=60
+
+depend() {
+ need epmd net
+ after firewall
+}
+
+healthcheck() {
+ "${command}" ping >/dev/null
+}
+
+start_post() {
+ local i=10
+ while [ $((i = i - 1)) -gt 0 ]; do
+ healthcheck && return 0
+ sleep 1
+ done
+
+ return 1
+}
+
+stop() {
+ ebegin "Stopping ${RC_SVCNAME}"
+ "${command}" stop
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME}"
+ "${command}" reload
+ eend $?
+}