This commit is contained in:
2024-09-18 10:42:02 +02:00
parent 304077ba33
commit ca39accd65
8 changed files with 372 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
From c0af543fc3b6047f66bfe820e7ce75abd3ed2049 Mon Sep 17 00:00:00 2001
From: Florian Schmaus <flo@geekplace.eu>
Date: Fri, 10 Dec 2021 12:36:45 +0100
Subject: [PATCH] Adjust ejabberd.service.template to Gentoo
---
Makefile.in | 2 +-
ejabberd.service.template | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index ab0e9d96702e..4d97570733aa 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -300,7 +300,7 @@ install: copy-files
chmod 755 ejabberd.init
#
# Service script
- $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" \
+ $(SED) -e "s*@ctlscriptpath@*/usr/sbin*g" \
-e "s*@installuser@*$(INIT_USER)*g" ejabberd.service.template \
> ejabberd.service
chmod 644 ejabberd.service
diff --git a/ejabberd.service.template b/ejabberd.service.template
index 685a104d00ae..e384e920280b 100644
--- a/ejabberd.service.template
+++ b/ejabberd.service.template
@@ -1,6 +1,7 @@
[Unit]
Description=XMPP Server
-After=network.target
+After=epmd.service network.target
+Requires=epmd.service
[Service]
Type=notify
--
2.33.1

View File

@@ -0,0 +1,54 @@
#!/sbin/openrc-run
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
extra_started_commands="reload"
depend() {
use dns
need epmd net
provide jabber-server
}
start() {
if ejabberdctl status >/dev/null 2>&1; then
ewarn "ejabberd is already started (manually?)."
return 0
fi
ebegin "Starting ejabberd"
/usr/sbin/ejabberdctl ${EJABBERDCTL_OPTS} start
eend $?
}
reload() {
ebegin "Reloading ejabberd configuration"
/usr/sbin/ejabberdctl ${EJABBERDCTL_OPTS} reload_config
eend $?
}
stop() {
ejabberdctl status >/dev/null 2>&1
if test $? = 3; then
ewarn "ejabberd is already stopped (manually?)."
return 0
fi
ebegin "Stopping ejabberd"
if /usr/sbin/ejabberdctl stop >/dev/null 2>&1; then
cnt=0
sleep 1
while ejabberdctl status >/dev/null 2>&1 || test $? = 1; do
echo .
cnt=`expr $cnt + 1`
if [ $cnt -ge 60 ] ; then
eend 1
break
fi
sleep 1
done
eend 0
else
eend 1
einfo "Please, run '/usr/sbin/ejabberdctl stop' to see what's going on."
fi
eend 0
}

View File

@@ -0,0 +1,13 @@
/var/log/ejabberd/*.log {
su ejabberd ejabberd
weekly
rotate 4
missingok
nocreate
sharedscripts
notifempty
compress
postrotate
/usr/sbin/ejabberdctl reopen-log > /dev/null 2>&1 || true
endscript
}

View File

@@ -0,0 +1,16 @@
From c0af543fc3b6047f66bfe820e7ce75abd3ed2049 Mon Sep 17 00:00:00 2001
From: Florian Schmaus <flo@geekplace.eu>
Date: Fri, 10 Dec 2021 12:36:45 +0100
Subject: [PATCH] Adjust ejabberd.service.template to Gentoo
--- a/ejabberd.service.template
+++ b/ejabberd.service.template
@@ -1,6 +1,7 @@
[Unit]
Description=XMPP Server
-After=network.target
+After=epmd.service network.target
+Requires=epmd.service
[Service]
Type=notify

View File

@@ -0,0 +1,5 @@
# Please configure everything at /etc/jabber/ejabberdctl.cfg
# Put here only command line arguments for ejabberdctl (if any are required)
#EJABBERDCTL_OPTS=""

View File

@@ -0,0 +1,21 @@
#!/bin/sh
ERL_LIBS=/usr/lib/erlang/lib
for bin in "$ERL_LIBS"/epam-*/priv/bin/epam; do
if [ -x "$bin" ]; then
if [ -z "$epam" ]; then
epam="$bin"
else
echo "Multiple epam libraries - don't know what to do" >&2
exit 1
fi
fi
done
if [ -z "$epam" ]; then
echo "Couldn't find epam package" >&2
exit 1
fi
exec "$epam"