Page MenuHomeFreeBSD

net/rabbitmq: bump to 3.7.8 & OTP20
AbandonedPublic

Authored by dch on Sep 14 2018, 9:02 AM.

Details

Reviewers
jrm
dumbbell
Summary

as discussed on RabbitMQ list it's time to move to a supported
OTP release. Add OTP 20+21 support via knob.

Diff Detail

Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 19765
Build 19320: arc lint + arc unit

Event Timeline

dch created this revision.Sep 14 2018, 9:02 AM

I didn't test it yet but this looks good to me.

What do you think about adding a variable for the version of Erlang and use it everywhere in the Makefile? Something like:

ERLANG_VERSION ?= 19

BUILD_DEPENDS= erlang-runtime${ERLANG_VERSION}>=19.3:lang/erlang-runtime${ERLANG_VERSION}

post-patch:
        @${REINPLACE_CMD} -e 's|/etc/rabbitmq|${PREFIX}/etc/rabbitmq|g ; s|/var/lib|/var/db|g ; s|$${ERL_DIR}erl|${PREFIX}/lib/erlang${ERLANG_VERSION}/bin/erl|g' \

It's not great for the erlang-runtime${ERLANG_VERSION}>=19.3 part, but if both lines are close, we should remember to update both.

dch updated this revision to Diff 48370.Sep 23 2018, 6:59 AM
  • update to 3.7.8
  • add user knob for OTP versions
dch added a comment.Sep 23 2018, 7:06 AM

I didn't test it yet but this looks good to me.
What do you think about adding a variable for the version of Erlang and use it everywhere in the Makefile? Something like:

ERLANG_VERSION ?= 19

<3 this, it's better than what I did for couchdb2. I took the options flag from couchdb2
port back to this, I haven't *run* net/rabbitmq 3.7.8 with OTP21 yet but the port itself
builds. YMMV.

dch retitled this revision from net/rabbitmq: bump dependencies to OTP20 to net/rabbitmq: bump to 3.7.8 & OTP20.Sep 23 2018, 7:15 AM
dch edited the summary of this revision. (Show Details)
dch added a comment.Sep 23 2018, 7:29 AM

poudriere says "no":

 DEPEND goldrush.d
/bin/sh: erl: not found
gmake[4]: *** [/tmp/usr/ports/net/rabbitmq/work/rabbitmq-server-3.7.8/deps/rabbit_common/erlang.mk:5146: goldrush.d] Error 127
gmake[4]: Leaving directory '/tmp/usr/ports/net/rabbitmq/work/rabbitmq-server-3.7.8/deps/goldrush'
gmake[3]: *** [/tmp/usr/ports/net/rabbitmq/work/rabbitmq-server-3.7.8/deps/rabbit_common/erlang.mk:4322: deps] Error 2
gmake[3]: Leaving directory '/tmp/usr/ports/net/rabbitmq/work/rabbitmq-server-3.7.8/deps/lager'
gmake[2]: *** [erlang.mk:4322: deps] Error 2
gmake[2]: Leaving directory '/tmp/usr/ports/net/rabbitmq/work/rabbitmq-server-3.7.8/deps/rabbit_common'
gmake[1]: *** [erlang.mk:4322: deps] Error 2
gmake[1]: Leaving directory '/tmp/usr/ports/net/rabbitmq/work/rabbitmq-server-3.7.8'
*** Error code 1
jrm added inline comments.Sep 23 2018, 7:35 AM
net/rabbitmq/Makefile
7

USE_GITHUB?

16

At least one leading TAB is missing here.

41–42

Your defining BUILD_DEPENDS and RUN_DEPENDS again here and hardcoding the erlang version.

45–46

Separate block placed above.

jrm added inline comments.Sep 23 2018, 7:47 AM
net/rabbitmq/Makefile
41–42

Cringe.... Your -> You're

dch updated this revision to Diff 48375.Sep 23 2018, 12:57 PM
dch marked 6 inline comments as done.
  • update to 3.7.8
  • add user knob for OTP versions
  • appease jrm and portlint
  • fail getting USE_GITHUB to work
dumbbell marked an inline comment as done.Sep 24 2018, 11:03 AM
dumbbell added inline comments.
net/rabbitmq/Makefile
7

The port is using files attached to a GitHub release, not a Git clone. Furthermore, the downloaded source archive is more than what is available in this repository. Therefore, no, it can't use USE_GITHUB.

dumbbell requested changes to this revision.Sep 24 2018, 11:18 AM
dumbbell added inline comments.
net/rabbitmq/Makefile
71

This is not enough: RabbitMQ calls cuttlefish at runtime and it is an escript: it will therefore defaults to escript(1) available in $PATH. So either cuttlefish's shebang line is patched to point to the correct escript(1), or rabbitmq-env and rabbitmq-server are patched to modify $PATH.

Also, instead of using sed(1) to replace $ERL_DIR, it's probably easier to set the variable once in rabbitmq-defaults. The current value is empty (ERL_DIR=).

This revision now requires changes to proceed.Sep 24 2018, 11:18 AM
dch abandoned this revision.Apr 23 2019, 6:46 AM
net/rabbitmq/Makefile
16

So what are the rules for tabs? currently I only put a tab in when the varname length is < 16.

41–42

<shivers>

I will revisit the licenses once the rest is ironed out, RMQ has a lot more than just MPL code.