ports@,

I'd like to add to net/ejabberd a small patch that fixes usage of
ejabberdctl from non _ejabberd user.

Right now it complains as:

        $ doas ejabberdctl
        su: no such login class: exec "$0" "$@"
        $

because our su a bit different than Linux which is expected by ejabberd.

Feedback? Ok?

Index: Makefile
===================================================================
RCS file: /home/cvs/ports/net/ejabberd/Makefile,v
diff -u -p -r1.51 Makefile
--- Makefile    25 Nov 2024 08:36:16 -0000      1.51
+++ Makefile    28 Nov 2024 01:25:58 -0000
@@ -1,6 +1,7 @@
 COMMENT =              robust, ubiquitous and massively scalable messaging 
platform
 
 V =                    24.10
+REVISION =             0
 DIST_TUPLE +=          github processone ejabberd ${V} .
 
 CATEGORIES =           net
Index: patches/patch-ejabberdctl_template
===================================================================
RCS file: patches/patch-ejabberdctl_template
diff -N patches/patch-ejabberdctl_template
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-ejabberdctl_template  28 Nov 2024 01:26:59 -0000
@@ -0,0 +1,14 @@
+OpenBSD su treats -c before username as class, and don't requires --
+
+Index: ejabberdctl.template
+--- ejabberdctl.template.orig
++++ ejabberdctl.template
+@@ -126,7 +126,7 @@ set_dist_client()
+ exec_cmd()
+ {
+     case $EXEC_CMD in
+-        as_install_user) su -s /bin/sh -c 'exec "$0" "$@"' "$INSTALLUSER" -- 
"$@" ;;
++        as_install_user) su -s /bin/sh "$INSTALLUSER" -c 'exec "$0" "$@"' 
"$@" ;;
+         as_current_user) "$@" ;;
+     esac
+ }

-- 
wbr, Kirill

Reply via email to