Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Sep 2008 00:04:13 GMT
From:      Barry Pederson <bp@barryp.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/127033: rabbitmq port install glitches
Message-ID:  <200809020004.m8204D2t007475@www.freebsd.org>
Resent-Message-ID: <200809020010.m820A2pU042396@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         127033
>Category:       ports
>Synopsis:       rabbitmq port install glitches
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 02 00:10:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Barry Pederson
>Release:        7-Stable
>Organization:
>Environment:
>Description:
I've noticed a couple things in installation of the net/rabbitmq port that don't seem quite right...

The port Makefile contains this line:

----
MAKE_ENV+=      TARGET_DIR="${PREFIX}/lib/erlang/lib/rabbitmq-${PORTVERSION}" SBIN_DIR="${PREFIX}/sbin/"
----

but I believe the TARGET_DIR should end with "rabbitmq_server-${PORTVERSION}", having the "_server" bit gives you something that matches what the rabbitmq install docs recommend, and allow you to build the rabbitmq-erlang-client more easily.

The other issue is that the rabbitmq daemon doesn't start automatically when a jail that it's installed in starts (or presumably a machine boots) - it seems that "/usr/local" is not in the path at this point, so the rc.d/rabbitmq script doesn't find the "/usr/local/sbin/rabbitmq-server" script, which also doesn't find "/usr/local/bin/erl"
>How-To-Repeat:
Try building the RabbitMQ erlang client, it errors out with

----
src/amqp_channel.erl:28: can't find include lib "rabbitmq_server/include/rabbit.hrl"
src/amqp_channel.erl:29: can't find include lib "rabbitmq_server/include/rabbit_framing.hrl"
----

Install rabbitmq and enable in your rc.conf, reboot machine or jail and see that it doesn't start automatically.  It starts fine by hand though because when you're logged into a shell, you usually have /usr/local/s?bin in your path.
>Fix:
I've attached a patch to the port that seems to fix these problems.

Patch attached with submission follows:

diff -ur rabbitmq.original/Makefile rabbitmq/Makefile
--- rabbitmq.original/Makefile	2008-08-19 21:46:19.000000000 -0500
+++ rabbitmq/Makefile	2008-09-01 18:51:13.567736350 -0500
@@ -7,6 +7,7 @@
 
 PORTNAME=	rabbitmq
 PORTVERSION=	1.4.0
+PORTREVISION=   1
 CATEGORIES=	net
 MASTER_SITES=	http://www.rabbitmq.com/releases/rabbitmq-server/v${PORTVERSION}/
 DISTNAME=	${PORTNAME}-server-${PORTVERSION}
@@ -19,13 +20,13 @@
 
 USE_GMAKE=	yes
 USE_PYTHON=	yes
-MAKE_ENV+=	TARGET_DIR="${PREFIX}/lib/erlang/lib/rabbitmq-${PORTVERSION}" SBIN_DIR="${PREFIX}/sbin/"
+MAKE_ENV+=	TARGET_DIR="${PREFIX}/lib/erlang/lib/rabbitmq_server-${PORTVERSION}" SBIN_DIR="${PREFIX}/sbin/"
 SCRIPTS_DIR=	${WRKSRC}/scripts/
 USE_RC_SUBR=	rabbitmq
 PLIST_SUB=	"VERSION=${PORTVERSION}"
 
 post-patch:
-	@${REINPLACE_CMD} -e 's|/etc/default|${PREFIX}/etc/rabbitmq|g ; s|/var/lib|/var/db|g' \
+	@${REINPLACE_CMD} -e 's|/etc/default|${PREFIX}/etc/rabbitmq|g ; s|/var/lib|/var/db|g ; s|erl|${PREFIX}/bin/erl|g' \
 		${SCRIPTS_DIR}/rabbitmq-multi ${SCRIPTS_DIR}/rabbitmq-server ${SCRIPTS_DIR}/rabbitmqctl
 
 	@${MKDIR} /var/log/rabbitmq /var/db/rabbitmq/mnesia ${PREFIX}/etc/rabbitmq
diff -ur rabbitmq.original/files/rabbitmq.in rabbitmq/files/rabbitmq.in
--- rabbitmq.original/files/rabbitmq.in	2008-07-13 20:51:37.000000000 -0500
+++ rabbitmq/files/rabbitmq.in	2008-09-01 18:33:44.389579629 -0500
@@ -17,19 +17,20 @@
 # Set some defaults
 rabbitmq_enable=${rabbitmq_enable:-"NO"}
 
+prefix=%%PREFIX%%
 name=rabbitmq
 start_cmd="${name}_start"
 stop_cmd="${name}_stop"
 
 rabbitmq_start()
 {
-	rabbitmq-server -detached
+	${prefix}/sbin/rabbitmq-server -detached
 	echo "RabbitMQ started"
 }
 
 rabbitmq_stop()
 {
-	rabbitmqctl stop
+	${prefix}/sbin/rabbitmqctl stop
 }
 
 rcvar=`set_rcvar`
diff -ur rabbitmq.original/pkg-plist rabbitmq/pkg-plist
--- rabbitmq.original/pkg-plist	2008-08-19 21:46:19.000000000 -0500
+++ rabbitmq/pkg-plist	2008-09-01 18:39:53.139634734 -0500
@@ -1,90 +1,90 @@
 sbin/rabbitmq-multi
 sbin/rabbitmq-server
 sbin/rabbitmqctl
-lib/erlang/lib/rabbitmq-%%VERSION%%/INSTALL
-lib/erlang/lib/rabbitmq-%%VERSION%%/LICENSE
-lib/erlang/lib/rabbitmq-%%VERSION%%/LICENSE-MPL-RabbitMQ
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/buffering_proxy.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit.app
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit.rel
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_access_control.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_amqqueue.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_amqqueue_process.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_amqqueue_sup.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_binary_generator.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_binary_parser.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_channel.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_control.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_error_logger.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_exchange.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_framing.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_framing_channel.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_heartbeat.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_load.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_log.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_misc.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_mnesia.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_multi.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_networking.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_node_monitor.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_persister.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_reader.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_realm.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_router.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_sup.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_tests.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_ticket.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_tracer.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/rabbit_writer.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/tcp_acceptor.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/tcp_acceptor_sup.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/tcp_client_sup.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/tcp_listener.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/ebin/tcp_listener_sup.beam
-lib/erlang/lib/rabbitmq-%%VERSION%%/include/rabbit.hrl
-lib/erlang/lib/rabbitmq-%%VERSION%%/include/rabbit_framing.hrl
-lib/erlang/lib/rabbitmq-%%VERSION%%/include/rabbit_framing_spec.hrl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/buffering_proxy.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_access_control.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_amqqueue.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_amqqueue_process.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_amqqueue_sup.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_binary_generator.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_binary_parser.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_channel.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_control.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_error_logger.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_exchange.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_framing.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_framing_channel.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_heartbeat.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_load.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_log.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_misc.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_mnesia.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_multi.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_networking.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_node_monitor.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_persister.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_reader.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_realm.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_router.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_sup.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_tests.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_ticket.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_tracer.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/rabbit_writer.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/tcp_acceptor.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/tcp_acceptor_sup.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/tcp_client_sup.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/tcp_listener.erl
-lib/erlang/lib/rabbitmq-%%VERSION%%/src/tcp_listener_sup.erl
-@dirrm lib/erlang/lib/rabbitmq-%%VERSION%%/src
-@dirrm lib/erlang/lib/rabbitmq-%%VERSION%%/include
-@dirrm lib/erlang/lib/rabbitmq-%%VERSION%%/ebin
-@dirrm lib/erlang/lib/rabbitmq-%%VERSION%%
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/INSTALL
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/LICENSE
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/LICENSE-MPL-RabbitMQ
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/buffering_proxy.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit.app
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit.rel
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_access_control.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_amqqueue.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_amqqueue_process.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_amqqueue_sup.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_binary_generator.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_binary_parser.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_channel.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_control.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_error_logger.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_exchange.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_framing.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_framing_channel.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_heartbeat.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_load.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_log.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_misc.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_mnesia.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_multi.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_networking.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_node_monitor.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_persister.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_reader.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_realm.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_router.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_sup.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_tests.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_ticket.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_tracer.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/rabbit_writer.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/tcp_acceptor.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/tcp_acceptor_sup.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/tcp_client_sup.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/tcp_listener.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin/tcp_listener_sup.beam
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/include/rabbit.hrl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/include/rabbit_framing.hrl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/include/rabbit_framing_spec.hrl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/buffering_proxy.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_access_control.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_amqqueue.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_amqqueue_process.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_amqqueue_sup.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_binary_generator.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_binary_parser.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_channel.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_control.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_error_logger.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_exchange.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_framing.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_framing_channel.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_heartbeat.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_load.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_log.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_misc.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_mnesia.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_multi.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_networking.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_node_monitor.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_persister.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_reader.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_realm.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_router.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_sup.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_tests.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_ticket.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_tracer.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/rabbit_writer.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/tcp_acceptor.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/tcp_acceptor_sup.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/tcp_client_sup.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/tcp_listener.erl
+lib/erlang/lib/rabbitmq_server-%%VERSION%%/src/tcp_listener_sup.erl
+@dirrm lib/erlang/lib/rabbitmq_server-%%VERSION%%/src
+@dirrm lib/erlang/lib/rabbitmq_server-%%VERSION%%/include
+@dirrm lib/erlang/lib/rabbitmq_server-%%VERSION%%/ebin
+@dirrm lib/erlang/lib/rabbitmq_server-%%VERSION%%
 @dirrmtry /var/log/rabbitmq
 @dirrmtry /var/db/rabbitmq/mnesia
 @dirrmtry etc/rabbitmq


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809020004.m8204D2t007475>