1 |
# Copyright 1999-2015 Gentoo Foundation |
2 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
# $Header: /var/cvsroot/gentoo-x86/net-misc/rabbitmq-server/rabbitmq-server-3.3.4.ebuild,v 1.5 2015/01/02 00:16:46 mgorny Exp $ |
4 |
|
5 |
EAPI="5" |
6 |
|
7 |
PYTHON_COMPAT=( python2_7 ) |
8 |
|
9 |
inherit eutils python-any-r1 systemd user |
10 |
|
11 |
DESCRIPTION="RabbitMQ is a high-performance AMQP-compliant message broker written in Erlang" |
12 |
HOMEPAGE="http://www.rabbitmq.com/" |
13 |
SRC_URI="http://www.rabbitmq.com/releases/rabbitmq-server/v${PV}/rabbitmq-server-${PV}.tar.gz" |
14 |
|
15 |
LICENSE="GPL-2 MPL-1.1" |
16 |
SLOT="0" |
17 |
KEYWORDS="~amd64 ~x86" |
18 |
IUSE="" |
19 |
|
20 |
RDEPEND="dev-lang/erlang" |
21 |
DEPEND="${RDEPEND} |
22 |
app-arch/zip |
23 |
app-arch/unzip |
24 |
app-text/docbook-xml-dtd:4.5 |
25 |
app-text/xmlto |
26 |
dev-libs/libxslt |
27 |
$(python_gen_any_dep 'dev-python/simplejson[${PYTHON_USEDEP}]') |
28 |
" |
29 |
|
30 |
pkg_setup() { |
31 |
enewgroup rabbitmq |
32 |
enewuser rabbitmq -1 -1 /var/lib/rabbitmq rabbitmq |
33 |
python-any-r1_pkg_setup |
34 |
} |
35 |
|
36 |
src_compile() { |
37 |
emake all docs_all |
38 |
gunzip docs/*.gz |
39 |
} |
40 |
|
41 |
src_install() { |
42 |
# erlang module |
43 |
local targetdir="/usr/$(get_libdir)/erlang/lib/rabbitmq_server-${PV}" |
44 |
|
45 |
einfo "Setting correct RABBITMQ_HOME in scripts" |
46 |
sed -e "s:^RABBITMQ_HOME=.*:RABBITMQ_HOME=\"${targetdir}\":g" \ |
47 |
-i scripts/rabbitmq-env || die |
48 |
|
49 |
einfo "Installing Erlang modules to ${targetdir}" |
50 |
insinto "${targetdir}" |
51 |
doins -r ebin include plugins |
52 |
|
53 |
einfo "Installing server scripts to /usr/sbin" |
54 |
for script in rabbitmq-env rabbitmq-server rabbitmqctl rabbitmq-defaults rabbitmq-plugins; do |
55 |
exeinto /usr/libexec/rabbitmq |
56 |
doexe scripts/${script} |
57 |
newsbin "${FILESDIR}"/rabbitmq-script-wrapper ${script} |
58 |
done |
59 |
|
60 |
# install the init script |
61 |
newinitd "${FILESDIR}"/rabbitmq-server.init-r3 rabbitmq |
62 |
systemd_dounit "${FILESDIR}/rabbitmq.service" |
63 |
|
64 |
# install documentation |
65 |
doman docs/*.[15] |
66 |
dodoc README |
67 |
|
68 |
# create the directory where our log file will go. |
69 |
diropts -m 0770 -o rabbitmq -g rabbitmq |
70 |
keepdir /var/log/rabbitmq /etc/rabbitmq |
71 |
|
72 |
# create the mnesia directory |
73 |
diropts -m 0770 -o rabbitmq -g rabbitmq |
74 |
dodir /var/lib/rabbitmq{,/mnesia} |
75 |
} |
76 |
|
77 |
pkg_preinst() { |
78 |
if has_version "<=net-misc/rabbitmq-server-1.8.0"; then |
79 |
elog "IMPORTANT UPGRADE NOTICE:" |
80 |
elog |
81 |
elog "RabbitMQ is now running as an unprivileged user instead of root." |
82 |
elog "Therefore you need to fix the permissions for RabbitMQs Mnesia database." |
83 |
elog "Please run the following commands as root:" |
84 |
elog |
85 |
elog " usermod -d /var/lib/rabbitmq rabbitmq" |
86 |
elog " chown rabbitmq:rabbitmq -R /var/lib/rabbitmq" |
87 |
elog |
88 |
elif has_version "<net-misc/rabbitmq-server-2.1.1"; then |
89 |
elog "IMPORTANT UPGRADE NOTICE:" |
90 |
elog |
91 |
elog "Please read release notes before upgrading:" |
92 |
elog |
93 |
elog "http://www.rabbitmq.com/release-notes/README-3.0.0.txt" |
94 |
fi |
95 |
if has_version "<net-misc/rabbitmq-server-3.3.0"; then |
96 |
elog |
97 |
elog "This release changes the behaviour of the default guest user:" |
98 |
elog |
99 |
elog "http://www.rabbitmq.com/access-control.html" |
100 |
fi |
101 |
} |