On Thu, 12 Dec 2024 20:36:18 +0100,
Kirill A. Korinsky <kir...@openbsd.org> wrote:
> 
> On Thu, 12 Dec 2024 19:16:54 +0100,
> Volker Schlecht <openbsd-po...@schlecht.dev> wrote:
> > 
> > Cc: kirill@
> > 
> > I'd like to update our default erlang version to 27.x, all dependent ports
> > seem fine with that, but I'd appreciate a feedback from someone who actually
> > runs net/ejabberd.
> > 
> > ok?
> 
> I've upgraded my ejabberd cluster and it work. So, OK kirill@.
> 
> Just a side note: after upgrade I still see in process list:
> 
>   /usr/local/lib/erlang26/erts-14.2.5.3/bin/epmd -daemon
> 

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.

Ok?

Index: net/ejabberd/Makefile
===================================================================
RCS file: /home/cvs/ports/net/ejabberd/Makefile,v
diff -u -p -r1.54 Makefile
--- net/ejabberd/Makefile       11 Dec 2024 22:16:30 -0000      1.54
+++ net/ejabberd/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: net/ejabberd/patches/patch-ejabberdctl_template
===================================================================
RCS file: /home/cvs/ports/net/ejabberd/patches/patch-ejabberdctl_template,v
diff -u -p -r1.2 patch-ejabberdctl_template
--- net/ejabberd/patches/patch-ejabberdctl_template     5 Dec 2024 14:45:20 
-0000       1.2
+++ net/ejabberd/patches/patch-ejabberdctl_template     12 Dec 2024 22:31:42 
-0000
@@ -2,6 +2,8 @@ OpenBSD su treats -c before username as 
 
 See: https://github.com/processone/ejabberd/pull/4320
 
+Plus: https://github.com/processone/ejabberd/pull/4327
+
 Index: ejabberdctl.template
 --- ejabberdctl.template.orig
 +++ ejabberdctl.template
@@ -14,3 +16,11 @@ Index: ejabberdctl.template
          as_current_user) "$@" ;;
      esac
  }
+@@ -389,6 +389,7 @@ case $1 in
+                  -eval 'net_kernel:connect_node('"'$PEER'"')' \
+                  -eval 'io:format("~p~n",[net_adm:ping('"'$PEER'"')])' \
+                  -s erlang halt -output text
++        stop_epmd
+         ;;
+     started)
+         set_dist_client
Index: net/ejabberd/pkg/ejabberd.rc
===================================================================
RCS file: /home/cvs/ports/net/ejabberd/pkg/ejabberd.rc,v
diff -u -p -r1.5 ejabberd.rc
--- net/ejabberd/pkg/ejabberd.rc        25 Nov 2024 08:36:16 -0000      1.5
+++ net/ejabberd/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

Reply via email to