# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-misc/rabbitmq-server/rabbitmq-server-2.8.5.ebuild,v 1.2 2012/09/03 16:00:40 ultrabug Exp $ EAPI="4" PYTHON_DEPEND="2" inherit eutils python systemd 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="GPL-2 MPL-1.1" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="" RDEPEND="dev-lang/erlang" DEPEND="${RDEPEND} app-arch/zip app-arch/unzip app-text/docbook-xml-dtd:4.5 app-text/xmlto dev-libs/libxslt dev-python/simplejson " pkg_setup() { enewgroup rabbitmq enewuser rabbitmq -1 -1 /var/lib/rabbitmq rabbitmq python_set_active_version 2 python_pkg_setup } src_prepare() { # do not refetch plugins from their vcs for f in $(find plugins-src/*-wrapper ${plugin} -type d -maxdepth 1); do touch ${f}/.done done } src_compile() { emake all docs_all gunzip docs/*.gz } src_install() { # erlang module local targetdir="/usr/$(get_libdir)/rabbitmq" einfo "Setting correct RABBITMQ_HOME in scripts" sed -e "s:^RABBITMQ_HOME=.*:RABBITMQ_HOME=\"${targetdir}\":g" \ -i scripts/rabbitmq-env einfo "Installing Erlang modules to ${targetdir}" insinto "${targetdir}" doins -r ebin include plugins einfo "Installing server scripts to /usr/sbin" for script in rabbitmq-env rabbitmq-server rabbitmqctl rabbitmq-defaults rabbitmq-plugins; do exeinto /usr/libexec/rabbitmq doexe scripts/${script} newsbin "${FILESDIR}"/rabbitmq-script-wrapper ${script} done # create the directory where our log file will go. diropts -m 0770 -o rabbitmq -g rabbitmq keepdir /var/log/rabbitmq /etc/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-r3 rabbitmq systemd_dounit "${FILESDIR}/rabbitmq.service" # install documentation doman docs/*.[15] dodoc README } pkg_preinst() { if has_version "<=net-misc/rabbitmq-server-1.8.0"; then elog "IMPORTANT UPGRADE NOTICE:" elog elog "RabbitMQ is now running as an unprivileged user instead of root." elog "Therefore you need to fix the permissions for RabbitMQs Mnesia database." elog "Please run the following commands as root:" elog elog " usermod -d /var/lib/rabbitmq rabbitmq" elog " chown rabbitmq:rabbitmq -R /var/lib/rabbitmq" elog fi }