Skip to content

Instantly share code, notes, and snippets.

@veszig
Created November 8, 2009 12:00
Show Gist options
  • Save veszig/229236 to your computer and use it in GitHub Desktop.
Save veszig/229236 to your computer and use it in GitHub Desktop.
--- scripts/rabbitmq-server 2009-10-06 16:45:47.000000000 +0200
+++ scripts/rabbitmq-server.new 2009-11-08 12:30:39.000000000 +0100
@@ -33,9 +33,12 @@
NODENAME=rabbit
NODE_IP_ADDRESS=0.0.0.0
NODE_PORT=5672
+RABBIT_LISTEN_MIN_DEFAULT=4672
+RABBIT_LISTEN_MAX_DEFAULT=4672
SERVER_ERL_ARGS="+K true +A30 \
-kernel inet_default_listen_options [{nodelay,true},{sndbuf,16384},{recbuf,4096}] \
--kernel inet_default_connect_options [{nodelay,true}]"
+-kernel inet_default_connect_options [{nodelay,true}] \
+-kernel inet_dist_listen_min ${RABBIT_LISTEN_MIN:-$RABBIT_LISTEN_MIN_DEFAULT} inet_dist_listen_max ${RABBIT_LISTEN_MAX:-$RABBIT_LISTEN_MAX_DEFAULT}"
CLUSTER_CONFIG_FILE=/etc/rabbitmq/rabbitmq_cluster.config
CONFIG_FILE=/etc/rabbitmq/rabbitmq
LOG_BASE=/var/log/rabbitmq
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit eutils
DESCRIPTION="RabbitMQ is a high-performance AMQP-compliant message broker written in Erlang."
HOMEPAGE="http://www.rabbitmq.com/"
SRC_URI="http://www.rabbitmq.com/releases/rabbitmq-server/v${PV}/rabbitmq-server-${PV}.tar.gz"
LICENSE="MPL-1.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
# Q: is RDEPEND-only sufficient for a binary package, since we don't compile?
DEPEND="dev-lang/erlang
dev-python/simplejson"
RDEPEND="${DEPEND}"
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}/rabbitmq-listen-ports.patch"
}
src_install() {
# erlang module
local targetdir="/usr/$(get_libdir)/erlang/lib/rabbitmq_server-${PV}"
einfo "Correcting additional Erlang code path in scripts"
sed -i -e "s:\`dirname \$0\`/rabbitmq-env:/usr/sbin/rabbitmq-env:g" scripts/* || die "sed failed"
einfo "Installing Erlang module to ${targetdir}"
dodir "${targetdir}"
cp -dpR ebin include "${D}/${targetdir}"
einfo "Installing server scripts to /usr/sbin"
# Install server scripts to sbin
dosbin scripts/rabbitmq-env scripts/rabbitmq-multi scripts/rabbitmq-server \
scripts/rabbitmq-server scripts/rabbitmq-activate-plugins scripts/rabbitmq-deactivate-plugins
einfo "Installing rabbitmqctl to /usr/bin"
# Install control script to bin
dobin scripts/rabbitmqctl
# Docs
dodoc README
# create the directory where our log file will go.
diropts -m 0770 -o rabbitmq -g rabbitmq
keepdir /var/log/rabbitmq
# create the mnesia directory
diropts -m 0770 -o rabbitmq -g rabbitmq
dodir /var/lib/rabbitmq/mnesia
# Install the init script
newinitd "${FILESDIR}"/rabbitmq-server.init rabbitmq
}
pkg_setup() {
enewgroup rabbitmq
enewuser rabbitmq -1 -1 -1 rabbitmq
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment