Re: net/ejabberd: new port (version 24.10)
lgtm. ok volker@ On 2024-11-19 17:08, Kirill A. Korinsky wrote: On Sat, 09 Nov 2024 12:54:08 +0100, Kirill A. Korinsky wrote: ports@, I'd like to import net/ejabberd back into the ports and take care of it. Here an updated version of net/ejabberd which contains polishing regarding permission, rc scripts and small thinkgs which I had discovered during running it for a week on cluster from two machines. To test it on 7.6, you need erlang.port.mk from -current, or you may use my package: https://kirill.korins.ky/pub/7.6/amd64/ejabberd-24.10.tgz Feedback? Ok? Index: infrastructure/db/user.list === RCS file: /home/cvs/ports/infrastructure/db/user.list,v diff -u -p -r1.452 user.list --- infrastructure/db/user.list 8 Nov 2024 16:05:20 - 1.452 +++ infrastructure/db/user.list 8 Nov 2024 17:55:30 - @@ -102,7 +102,7 @@ id usergroup port 591 _bacula _bacula sysutils/bacula 592 _imapproxy _imapproxy mail/imapproxy #593 _nginx _nginx www/nginx -#594 _ejabberd _ejabberd net/ejabberd +594 _ejabberd _ejabberd net/ejabberd 595 _poppassd _poppassd sysutils/openpoppassd #596 _heartbeat _heartbeat sysutils/heartbeat 597 _spotifyd _spotifyd audio/spotifyd -- wbr, Kirill
Re: net/ejabberd: new port (version 24.10)
On Sat, 09 Nov 2024 12:54:08 +0100, Kirill A. Korinsky wrote: > > ports@, > > I'd like to import net/ejabberd back into the ports and take care of it. > Here an updated version of net/ejabberd which contains polishing regarding permission, rc scripts and small thinkgs which I had discovered during running it for a week on cluster from two machines. To test it on 7.6, you need erlang.port.mk from -current, or you may use my package: https://kirill.korins.ky/pub/7.6/amd64/ejabberd-24.10.tgz Feedback? Ok? Index: infrastructure/db/user.list === RCS file: /home/cvs/ports/infrastructure/db/user.list,v diff -u -p -r1.452 user.list --- infrastructure/db/user.list 8 Nov 2024 16:05:20 - 1.452 +++ infrastructure/db/user.list 8 Nov 2024 17:55:30 - @@ -102,7 +102,7 @@ id usergroup port 591 _bacula_bacula sysutils/bacula 592 _imapproxy _imapproxy mail/imapproxy #593 _nginx_nginx www/nginx -#594 _ejabberd _ejabberd net/ejabberd +594 _ejabberd _ejabberd net/ejabberd 595 _poppassd _poppassd sysutils/openpoppassd #596 _heartbeat_heartbeat sysutils/heartbeat 597 _spotifyd _spotifyd audio/spotifyd -- wbr, Kirill ejabberd.tgz Description: Binary data
Re: net/ejabberd: new port (version 24.10)
On Mon, 18 Nov 2024 19:34:27 +0100, Volker Schlecht wrote: > > I didn't find the time to really look at ejabberd, but ok volker@ for the > changes to erlang.port.mk. > And I had commited it with a typo. Ok to fix it? Index: lang/erlang/erlang.port.mk === RCS file: /home/cvs/ports/lang/erlang/erlang.port.mk,v diff -u -p -r1.42 erlang.port.mk --- lang/erlang/erlang.port.mk 18 Nov 2024 19:53:53 - 1.42 +++ lang/erlang/erlang.port.mk 19 Nov 2024 09:53:00 - @@ -200,8 +200,8 @@ MODERL_DISTFILES += ${MODERL_DIST_SUBDIR . if ! empty(MODERL_MODULES) .for _m _v in ${MODERL_MODULES} -MODERL_MODULE_${_n}_VERSION = ${_v} -SUBST_VARS += MODERL_MODULE_${_n}_VERSION +MODERL_MODULE_${_m}_VERSION = ${_v} +SUBST_VARS += MODERL_MODULE_${_m}_VERSION MODERL_SETUP_WORKSPACE += mkdir -p ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \ tar xf ${FULLDISTDIR}/${MODERL_DIST_SUBDIR}/${_m}-${_v}.tar -C ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \ mkdir -p ${WRKSRC}/_checkouts/${_m}; \ -- wbr, Kirill
Re: net/ejabberd: new port (version 24.10)
I didn't find the time to really look at ejabberd, but ok volker@ for the changes to erlang.port.mk. On 2024-11-09 12:54, Kirill A. Korinsky wrote: ports@, I'd like to import net/ejabberd back into the ports and take care of it. To import it, I need to add small hacks inside lang/erlang/erlang.port.mk to overstep the extreme fragile behavior of rebar on offline builds. I'd like to import net/ejabberd back to the ports and take care of it. To import it I need to add small hacks inside lang/erlang/erlang.port.mk to overstep extream fragiel behaviour of rebar on offline builds. As part of my testing I've rebuild and check that it doesn't change PLIST: - lang/lfe - lang/gleam - lang/elixir - devel/rebar3 - benchmarks/tsung - net/rabbitmq or all ports which depends on erlang.port.mk. Feedback? Ok? Index: infrastructure/db/user.list === RCS file: /home/cvs/ports/infrastructure/db/user.list,v diff -u -p -r1.452 user.list --- infrastructure/db/user.list 8 Nov 2024 16:05:20 - 1.452 +++ infrastructure/db/user.list 8 Nov 2024 17:55:30 - @@ -102,7 +102,7 @@ id usergroup port 591 _bacula _bacula sysutils/bacula 592 _imapproxy _imapproxy mail/imapproxy #593 _nginx _nginx www/nginx -#594 _ejabberd _ejabberd net/ejabberd +594 _ejabberd _ejabberd net/ejabberd 595 _poppassd _poppassd sysutils/openpoppassd #596 _heartbeat _heartbeat sysutils/heartbeat 597 _spotifyd _spotifyd audio/spotifyd Index: lang/erlang/erlang.port.mk === RCS file: /home/cvs/ports/lang/erlang/erlang.port.mk,v diff -u -p -r1.41 erlang.port.mk --- lang/erlang/erlang.port.mk 28 May 2024 19:53:48 - 1.41 +++ lang/erlang/erlang.port.mk 9 Nov 2024 10:41:42 - @@ -72,7 +72,12 @@ _MODERL_FLAVOR ?=${_MODERL_DEFAULT_FLAV CONFIGURE_STYLE = rebar3 .endif +MODERL_USE_REBAR3 ?= No .if ${CONFIGURE_STYLE} == "rebar3" +MODERL_USE_REBAR3 =Yes +.endif + +.if ${MODERL_USE_REBAR3:L} == yes MODERL_BUILD_DEPENDS += devel/rebar3,${_MODERL_FLAVOR} REBAR_BIN ?=${LOCALBASE}/bin/rebar3-${MODERL_VERSION} # Make sure rebar gets called as 'rebar3', otherwise escript tries to call the @@ -125,6 +130,7 @@ MODERL_LIBROOT ?= lib/erlang${MODERL_VER ERL_LIBDIR ?= ${ERL_LIBROOT}/${DISTNAME} # Common program shortcuts +MODERL_EPMD = ${LOCALBASE}/bin/epmd${MODERL_VERSION} MODERL_ERL =${LOCALBASE}/bin/erl${MODERL_VERSION} MODERL_ERLC = ${LOCALBASE}/bin/erlc${MODERL_VERSION} @@ -172,6 +178,22 @@ SITE_HEX = https://repo.hex.pm/tarballs SITES.erl ?=${SITE_HEX} MODERL_DIST_SUBDIR ?= hex_modules +. for _m _v in ${MODERL_PLUGINS} +MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar +. endfor + +. if ! empty(MODERL_PLUGINS) +.for _m _v in ${MODERL_PLUGINS} +MODERL_SETUP_WORKSPACE_PLUGINS += mkdir -p ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \ + tar xf ${FULLDISTDIR}/${MODERL_DIST_SUBDIR}/${_m}-${_v}.tar -C ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \ + mkdir -p ${WRKSRC}/_checkouts/${_m}; \ + mkdir -p ${WRKSRC}/_build/default/plugins; \ + tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}; \ + ln -fs ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/plugins/${_m}; +.endfor +MODERLANG_post-extract += ${MODERL_SETUP_WORKSPACE_PLUGINS} +. endif + . for _m _v in ${MODERL_MODULES} MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar . endfor @@ -183,9 +205,13 @@ MODERL_SETUP_WORKSPACE += mkdir -p ${WRK mkdir -p ${WRKSRC}/_checkouts/${_m}; \ mkdir -p ${WRKSRC}/_build/default/lib; \ tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}; \ - cp -r ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/; + ln -fs ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/${_m}; +MODERL_COPY_EBINS += if [ -d ${WRKSRC}/_build/default/checkouts/${_m}/ebin ]; then \ + cp -r ${WRKSRC}/_build/default/checkouts/${_m}/ebin \ + ${WRKSRC}/_build/default/lib/${_m}/ebin; fi; .endfor MODERLANG_post-extract += ${MODERL_SETUP_WORKSPACE} +MODERLANG_pre-fake += ${MODERL_COPY_EBINS} . endif . if defined(MODERL_DISTFILES) -- wbr, Kirill
Re: net/ejabberd: new port (version 24.10)
On Tue, 12 Nov 2024 16:16:26 +0100, Kirill A. Korinsky wrote: > > On Sat, 09 Nov 2024 12:54:08 +0100, > Kirill A. Korinsky wrote: > > > > ports@, > > > > I'd like to import net/ejabberd back into the ports and take care of it. > > > > To import it, I need to add small hacks inside lang/erlang/erlang.port.mk to > > overstep the extreme fragile behavior of rebar on offline builds. > > > > I'd like to import net/ejabberd back to the ports and take care of it. > > > > To import it I need to add small hacks inside lang/erlang/erlang.port.mk to > > overstep extream fragiel behaviour of rebar on offline builds. > > > > As part of my testing I've rebuild and check that it doesn't change PLIST: > > - lang/lfe > > - lang/gleam > > - lang/elixir > > - devel/rebar3 > > - benchmarks/tsung > > - net/rabbitmq > > or all ports which depends on erlang.port.mk. > > > > Here a bit polished ports: > - better rc script which handle reload > - moved ejabberd data into /var/db/ejabberd > - some very minor tweaks. > After some using of this port I had realized that support of sqlite should be enabled for archive of messages, for example. So, here an updated tgz with inlined required patches: Index: infrastructure/db/user.list === RCS file: /home/cvs/ports/infrastructure/db/user.list,v diff -u -p -r1.452 user.list --- infrastructure/db/user.list 8 Nov 2024 16:05:20 - 1.452 +++ infrastructure/db/user.list 8 Nov 2024 17:55:30 - @@ -102,7 +102,7 @@ id usergroup port 591 _bacula_bacula sysutils/bacula 592 _imapproxy _imapproxy mail/imapproxy #593 _nginx_nginx www/nginx -#594 _ejabberd _ejabberd net/ejabberd +594 _ejabberd _ejabberd net/ejabberd 595 _poppassd _poppassd sysutils/openpoppassd #596 _heartbeat_heartbeat sysutils/heartbeat 597 _spotifyd _spotifyd audio/spotifyd Index: lang/erlang/erlang.port.mk === RCS file: /home/cvs/ports/lang/erlang/erlang.port.mk,v diff -u -p -r1.41 erlang.port.mk --- lang/erlang/erlang.port.mk 28 May 2024 19:53:48 - 1.41 +++ lang/erlang/erlang.port.mk 12 Nov 2024 22:50:10 - @@ -72,7 +72,12 @@ _MODERL_FLAVOR ?=${_MODERL_DEFAULT_FLAV CONFIGURE_STYLE = rebar3 .endif +MODERL_USE_REBAR3 ?= No .if ${CONFIGURE_STYLE} == "rebar3" +MODERL_USE_REBAR3 =Yes +.endif + +.if ${MODERL_USE_REBAR3:L} == yes MODERL_BUILD_DEPENDS +=devel/rebar3,${_MODERL_FLAVOR} REBAR_BIN ?= ${LOCALBASE}/bin/rebar3-${MODERL_VERSION} # Make sure rebar gets called as 'rebar3', otherwise escript tries to call the @@ -125,6 +130,7 @@ MODERL_LIBROOT ?= lib/erlang${MODERL_VER ERL_LIBDIR ?= ${ERL_LIBROOT}/${DISTNAME} # Common program shortcuts +MODERL_EPMD = ${LOCALBASE}/bin/epmd${MODERL_VERSION} MODERL_ERL = ${LOCALBASE}/bin/erl${MODERL_VERSION} MODERL_ERLC = ${LOCALBASE}/bin/erlc${MODERL_VERSION} @@ -172,20 +178,42 @@ SITE_HEX =https://repo.hex.pm/tarballs SITES.erl ?= ${SITE_HEX} MODERL_DIST_SUBDIR ?= hex_modules +. for _m _v in ${MODERL_PLUGINS} +MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar +. endfor + +. if ! empty(MODERL_PLUGINS) +.for _m _v in ${MODERL_PLUGINS} +MODERL_SETUP_WORKSPACE_PLUGINS += mkdir -p ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \ + tar xf ${FULLDISTDIR}/${MODERL_DIST_SUBDIR}/${_m}-${_v}.tar -C ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \ + mkdir -p ${WRKSRC}/_checkouts/${_m}; \ + mkdir -p ${WRKSRC}/_build/default/plugins; \ + tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}; \ + ln -fs ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/plugins/${_m}; +.endfor +MODERLANG_post-extract += ${MODERL_SETUP_WORKSPACE_PLUGINS} +. endif + . for _m _v in ${MODERL_MODULES} MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar . endfor . if ! empty(MODERL_MODULES) .for _m _v in ${MODERL_MODULES} +MODERL_MODULE_${_n}_VERSION = ${_v} +SUBST_VARS += MODERL_MODULE_${_n}_VERSION MODERL_SETUP_WORKSPACE += mkdir -p ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \ tar xf ${FULLDISTDIR}/${MODERL_DIST_SUBDIR}/${_m}-${_v}.tar -C ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \ mkdir -p ${WRKSRC}/_checkouts/${_m}; \ mkdir -p ${WRKSRC}/_build/default/lib; \ tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}; \ - cp -r ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/; + ln -fs ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/${_m}; +MODERL_COPY_EBINS += if [ -d ${WRKSRC}/_build/default/checkouts/${_m}/ebin
Re: net/ejabberd: new port (version 24.10)
On Sat, 09 Nov 2024 12:54:08 +0100, Kirill A. Korinsky wrote: > > ports@, > > I'd like to import net/ejabberd back into the ports and take care of it. > > To import it, I need to add small hacks inside lang/erlang/erlang.port.mk to > overstep the extreme fragile behavior of rebar on offline builds. > > I'd like to import net/ejabberd back to the ports and take care of it. > > To import it I need to add small hacks inside lang/erlang/erlang.port.mk to > overstep extream fragiel behaviour of rebar on offline builds. > > As part of my testing I've rebuild and check that it doesn't change PLIST: > - lang/lfe > - lang/gleam > - lang/elixir > - devel/rebar3 > - benchmarks/tsung > - net/rabbitmq > or all ports which depends on erlang.port.mk. > Here a bit polished ports: - better rc script which handle reload - moved ejabberd data into /var/db/ejabberd - some very minor tweaks. Feedback? Ok? Index: infrastructure/db/user.list === RCS file: /home/cvs/ports/infrastructure/db/user.list,v diff -u -p -r1.452 user.list --- infrastructure/db/user.list 8 Nov 2024 16:05:20 - 1.452 +++ infrastructure/db/user.list 8 Nov 2024 17:55:30 - @@ -102,7 +102,7 @@ id usergroup port 591 _bacula_bacula sysutils/bacula 592 _imapproxy _imapproxy mail/imapproxy #593 _nginx_nginx www/nginx -#594 _ejabberd _ejabberd net/ejabberd +594 _ejabberd _ejabberd net/ejabberd 595 _poppassd _poppassd sysutils/openpoppassd #596 _heartbeat_heartbeat sysutils/heartbeat 597 _spotifyd _spotifyd audio/spotifyd Index: lang/erlang/erlang.port.mk === RCS file: /home/cvs/ports/lang/erlang/erlang.port.mk,v diff -u -p -r1.41 erlang.port.mk --- lang/erlang/erlang.port.mk 28 May 2024 19:53:48 - 1.41 +++ lang/erlang/erlang.port.mk 9 Nov 2024 10:41:42 - @@ -72,7 +72,12 @@ _MODERL_FLAVOR ?=${_MODERL_DEFAULT_FLAV CONFIGURE_STYLE = rebar3 .endif +MODERL_USE_REBAR3 ?= No .if ${CONFIGURE_STYLE} == "rebar3" +MODERL_USE_REBAR3 =Yes +.endif + +.if ${MODERL_USE_REBAR3:L} == yes MODERL_BUILD_DEPENDS +=devel/rebar3,${_MODERL_FLAVOR} REBAR_BIN ?= ${LOCALBASE}/bin/rebar3-${MODERL_VERSION} # Make sure rebar gets called as 'rebar3', otherwise escript tries to call the @@ -125,6 +130,7 @@ MODERL_LIBROOT ?= lib/erlang${MODERL_VER ERL_LIBDIR ?= ${ERL_LIBROOT}/${DISTNAME} # Common program shortcuts +MODERL_EPMD = ${LOCALBASE}/bin/epmd${MODERL_VERSION} MODERL_ERL = ${LOCALBASE}/bin/erl${MODERL_VERSION} MODERL_ERLC = ${LOCALBASE}/bin/erlc${MODERL_VERSION} @@ -172,6 +178,22 @@ SITE_HEX = https://repo.hex.pm/tarballs SITES.erl ?= ${SITE_HEX} MODERL_DIST_SUBDIR ?= hex_modules +. for _m _v in ${MODERL_PLUGINS} +MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar +. endfor + +. if ! empty(MODERL_PLUGINS) +.for _m _v in ${MODERL_PLUGINS} +MODERL_SETUP_WORKSPACE_PLUGINS += mkdir -p ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \ + tar xf ${FULLDISTDIR}/${MODERL_DIST_SUBDIR}/${_m}-${_v}.tar -C ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \ + mkdir -p ${WRKSRC}/_checkouts/${_m}; \ + mkdir -p ${WRKSRC}/_build/default/plugins; \ + tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}; \ + ln -fs ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/plugins/${_m}; +.endfor +MODERLANG_post-extract += ${MODERL_SETUP_WORKSPACE_PLUGINS} +. endif + . for _m _v in ${MODERL_MODULES} MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar . endfor @@ -183,9 +205,13 @@ MODERL_SETUP_WORKSPACE += mkdir -p ${WRK mkdir -p ${WRKSRC}/_checkouts/${_m}; \ mkdir -p ${WRKSRC}/_build/default/lib; \ tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}; \ - cp -r ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/; + ln -fs ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/${_m}; +MODERL_COPY_EBINS += if [ -d ${WRKSRC}/_build/default/checkouts/${_m}/ebin ]; then \ + cp -r ${WRKSRC}/_build/default/checkouts/${_m}/ebin \ + ${WRKSRC}/_build/default/lib/${_m}/ebin; fi; .endfor MODERLANG_post-extract += ${MODERL_SETUP_WORKSPACE} +MODERLANG_pre-fake += ${MODERL_COPY_EBINS} . endif . if defined(MODERL_DISTFILES) -- wbr, Kirill ejabberd.tgz Description: Binary data
Re: net/ejabberd: new port (version 24.10)
On 2024/11/09 12:54, Kirill A. Korinsky wrote: > ports@, > > I'd like to import net/ejabberd back into the ports and take care of it. btw, unless you want to learn about fixing merge conflicts in cvs, use cvs add, not import, for this. erlang.port.mk changes don't look too bad. ok with me (there are some whutespace nits in modules.inc that could be tweaked)