blob: 60b7628d197a35719430e62b35d7f22368014ea9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
PYTHON_COMPAT=( python2_7 )
inherit eutils python-any-r1 systemd user
DESCRIPTION="RabbitMQ is a high-performance AMQP-compliant message broker written in Erlang"
HOMEPAGE="https://www.rabbitmq.com/"
SRC_URI="https://www.rabbitmq.com/releases/rabbitmq-server/v${PV}/rabbitmq-server-${PV}.tar.xz"
LICENSE="GPL-2 MPL-1.1"
SLOT="0"
KEYWORDS="amd64 ~arm64 x86"
IUSE=""
RDEPEND=">=dev-lang/erlang-18[ssl]"
DEPEND="${RDEPEND}
app-arch/zip
app-arch/unzip
app-text/docbook-xml-dtd:4.5
app-text/xmlto
dev-libs/libxslt
$(python_gen_any_dep 'dev-python/simplejson[${PYTHON_USEDEP}]')
"
pkg_setup() {
enewgroup rabbitmq
enewuser rabbitmq -1 -1 /var/lib/rabbitmq rabbitmq
python-any-r1_pkg_setup
}
src_compile() {
emake all docs dist
}
src_install() {
# erlang module
local targetdir="/usr/$(get_libdir)/erlang/lib/rabbitmq_server-${PV}"
einfo "Setting correct RABBITMQ_HOME in scripts"
sed -e "s:^RABBITMQ_HOME=.*:RABBITMQ_HOME=\"${targetdir}\":g" \
-i deps/rabbit/scripts/rabbitmq-env || die
einfo "Installing Erlang modules to ${targetdir}"
insinto "${targetdir}"
doins -r deps/rabbit/ebin deps/rabbit/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 deps/rabbit/scripts/${script}
newsbin "${FILESDIR}"/rabbitmq-script-wrapper ${script}
done
# install the init script
newinitd "${FILESDIR}"/rabbitmq-server.init-r3 rabbitmq
systemd_dounit "${FILESDIR}/rabbitmq.service"
# install documentation
dodoc deps/rabbit/docs/*.xml
dodoc deps/rabbit/README
# 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}
}
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
elif has_version "<net-misc/rabbitmq-server-2.1.1"; then
elog "IMPORTANT UPGRADE NOTICE:"
elog
elog "Please read release notes before upgrading:"
elog
elog "https://www.rabbitmq.com/release-notes/README-3.0.0.txt"
fi
if has_version "<net-misc/rabbitmq-server-3.3.0"; then
elog
elog "This release changes the behaviour of the default guest user:"
elog
elog "https://www.rabbitmq.com/access-control.html"
fi
}
|