Index | Thread | Search

From:
Kirill A. Korinsky <kirill@korins.ky>
Subject:
net/ejabberd: fix usage ejabberdctl from root
To:
OpenBSD ports <ports@openbsd.org>
Cc:
Klemens Nanni <kn@openbsd.org>
Date:
Thu, 28 Nov 2024 02:31:52 +0100

Download raw body.

Thread
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