Index | Thread | Search

From:
Marko Cupać <marko.cupac@mimar.rs>
Subject:
porting ejabberd
To:
ports@openbsd.org
Date:
Fri, 22 Nov 2024 18:16:18 +0100

Download raw body.

Thread
  • Marko Cupać:

    porting ejabberd

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/