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