From: Marko Cupać Subject: porting ejabberd To: ports@openbsd.org Date: Fri, 22 Nov 2024 18:16:18 +0100 Hi, I am successfully compiling, installing and running ejabberd 24.10 in OpenBSD 7.6 amd64 test environment, following instruction on: https://docs.ejabberd.im/admin/install/source/ I would like to revive OpenBSD port (it was removed from OpenBSD ports many years ago). Although this would be my first ever porting attempt on OpenBSD, I understand quite well FreeBSD's ejabberd port, as recently I modified it (in my own tree) so that it uses newer rebar3. Along the way I discovered unneeded patches, unnecessary complications etc. I hope my patches will be accepted in FreeBSD (I run my ejabberd server on it currently), but would also like to use my newly-acquired insights to create OpenBSD port so I can run ejabberd on it as well. I have some questions: - Does anyone work on ejabberd port? Are there reasons why I shouldn't? Any more experienced porters around to help with the effort? - SPOOLDIR which contains .erlang.cookie, mnesia database files and other changeable stuff points by default to /var/lib/ejabberd (which should also be ejabberd user's homedir). Is this OK? FreeBSD patches it to point to /var/spool/ejabberd instead. - LIBDIR which contains erlang packages, ejabberd itself as well as its erlang dependencies (such as base64url cache_tab idna jose etc.) points by default to erlang's libdir, which I'm pointing in configure phase to /usr/local/lib/erlang26/lib. (I guess) in order to avoid mixing system installed (by means of pkg_add) erlang packages with those installed by ejabberd (dependent erlang packages built and installed internally by means of rebar3), FreeBSD implements patches so that the latter go to: /usr/local/lib/erlang26/lib/ejabberd-${PORTVERSION}/lib/ What to do about this? Is it OK to have those dependent erlang packages built internally by ejabberd installed to erlang's libdir or should I also patch to install them to ejabberd's subdir? The third option theoretically (I don't have experience with this) would be to make ports for each of erlang dependency packages and install them with pkg_add, and use --enable-system-deps during configure phase in ejabberd. Thank you in advance, -- Before enlightenment - chop wood, draw water. After enlightenment - chop wood, draw water. Marko Cupać https://www.mimar.rs/