On Thu, 12 Dec 2024 23:35:14 +0100, Kirill A. Korinsky <kir...@korins.ky> wrote: > > Which is a bug. Here the fix which: > > 1. waits until ejabberd is started or stopped, with 1 minute timeout. > > 2. kills epmd after ping, which is used to rc_check. >
after discussion with volker@ outside the list I'd like a suggest different patch for ejabberd which switched off using epmd out of the box. Index: Makefile =================================================================== RCS file: /home/cvs/ports/net/ejabberd/Makefile,v diff -u -p -r1.54 Makefile --- Makefile 11 Dec 2024 22:16:30 -0000 1.54 +++ Makefile 12 Dec 2024 22:31:55 -0000 @@ -1,7 +1,7 @@ COMMENT = robust, ubiquitous and massively scalable messaging platform V = 24.10 -REVISION = 2 +REVISION = 3 DIST_TUPLE += github processone ejabberd ${V} . CATEGORIES = net Index: patches/patch-ejabberdctl_cfg_example =================================================================== RCS file: patches/patch-ejabberdctl_cfg_example diff -N patches/patch-ejabberdctl_cfg_example --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-ejabberdctl_cfg_example 13 Dec 2024 13:52:59 -0000 @@ -0,0 +1,14 @@ +Do not use epmd out of the box to prevent killing system's epmd + +Index: ejabberdctl.cfg.example +--- ejabberdctl.cfg.example.orig ++++ ejabberdctl.cfg.example +@@ -62,7 +62,7 @@ + # + # Default: not defined + # +-#ERL_DIST_PORT=5210 ++ERL_DIST_PORT=5210 + + #. + #' ERL_EPMD_ADDRESS: IP addresses where EPMD listens for connections Index: pkg/ejabberd.rc =================================================================== RCS file: /home/cvs/ports/net/ejabberd/pkg/ejabberd.rc,v diff -u -p -r1.5 ejabberd.rc --- pkg/ejabberd.rc 25 Nov 2024 08:36:16 -0000 1.5 +++ pkg/ejabberd.rc 12 Dec 2024 22:29:48 -0000 @@ -6,11 +6,12 @@ daemon_user=_ejabberd . /etc/rc.d/rc.subr rc_start() { - rc_exec "${daemon} ${daemon_flags} start" + rc_exec "${daemon} ${daemon_flags} start \ + && ${daemon} ${daemon_flags} started" } rc_check() { - rc_exec "${daemon} ${daemon_flags} ping | grep pong" + rc_exec "${daemon} ${daemon_flags} ping | grep -q pong" } rc_reload() { @@ -18,7 +19,8 @@ rc_reload() { } rc_stop() { - rc_exec "${daemon} ${daemon_flags} stop" + rc_exec "${daemon} ${daemon_flags} stop \ + && ${daemon} ${daemon_flags} stopped" } rc_cmd $1 -- wbr, Kirill