2 ## Copyright (C) 2019 Wind River Systems, Inc.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 DESCRIPTION = "High-performance AMQP-compliant message broker written in Erlang."
17 HOMEPAGE = "http://www.rabbitmq.com/"
21 LIC_FILES_CHKSUM = "file://LICENSE-MPL-RabbitMQ;md5=ce8293a7cc187353c90cb24a8ecee4ce"
24 http://www.rabbitmq.com/releases/rabbitmq-server/v${PV}/${PN}-${PV}.tar.xz \
25 file://rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch \
26 file://rabbitmq-server-0002-Add-systemd-notification-support.patch \
27 file://rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch \
28 file://rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch \
29 file://rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch \
30 file://rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch \
31 file://rabbitmq-server-0007-rabbitmq-script-wrapper-allow-to-run-as-root.patch \
32 file://rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch;patchdir=deps/rabbit_common \
33 file://rabbitmq-common-0002-Use-proto_dist-from-command-line.patch;patchdir=deps/rabbit_common \
34 file://rabbitmq-server-fails-with-home-not-set.patch \
35 file://rabbitmq-server.logrotate \
36 file://rabbitmq-server.tmpfiles \
39 SRC_URI[md5sum] = "e9f96b5763a89a246f53250e46c2796b"
40 SRC_URI[sha256sum] = "9550433ca8aaf5130bf5235bb978c44d3c4694cbd09d97114b3859f4895788ec"
56 # ../../../../../recipe-sysroot/usr/lib/erlang/lib/ssl-5.3.3/src/
58 export SOCKJS_ERLC_OPTS="-Dpre17_type_specs"
59 rm -rf deps/rabbit_common/include/ssl
60 mkdir ${S}/deps/rabbit_common/include/ssl
61 cp -r ${RECIPE_SYSROOT}/${libdir}/erlang/lib/ssl-5.3.3/src ${S}/deps/rabbit_common/include/ssl
66 RABBIT_LIB_DIR=${libdir}/rabbitmq
71 RMQ_ROOTDIR=${RABBIT_LIB_DIR}
73 oe_runmake install-man \
76 RMQ_ROOTDIR=${RABBIT_LIB_DIR}
78 mkdir -p ${D}${localstatedir}/lib/rabbitmq/mnesia
79 mkdir -p ${D}${localstatedir}/log/rabbitmq
81 # Copy all necessary lib files etc.
82 install -p -D -m 0644 ${S}/docs/rabbitmq-server.service.example ${D}${systemd_system_unitdir}/rabbitmq-server.service
83 install -p -D -m 0755 ${S}/scripts/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmqctl
84 install -p -D -m 0755 ${S}/scripts/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-server
85 install -p -D -m 0755 ${S}/scripts/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-plugins
87 # Make necessary symlinks
88 mkdir -p ${D}${RABBIT_LIB_DIR}/bin
89 for app in rabbitmq-defaults rabbitmq-env rabbitmq-plugins rabbitmq-server rabbitmqctl; do
90 ln -s ${RABBIT_LIB_DIR}/lib/rabbitmq_server-${PV}/sbin/${app} ${D}${RABBIT_LIB_DIR}/bin/${app}
93 install -p -D -m 0755 ${S}/scripts/rabbitmq-server.ocf ${D}${exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server
94 install -p -D -m 0755 ${S}/scripts/rabbitmq-server-ha.ocf ${D}${exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha
96 install -p -D -m 0644 ${WORKDIR}/rabbitmq-server.logrotate ${D}${sysconfdir}/logrotate.d/rabbitmq-server
98 install -p -D -m 0644 ${S}/docs/rabbitmq.config.example ${D}${sysconfdir}/rabbitmq/rabbitmq.config
100 rm -rf ${D}${RABBIT_LIB_DIR}/lib/rabbitmq_server-${PV}/{LICENSE,LICENSE-*,INSTALL}
102 install -p -D -m 0644 ${WORKDIR}/rabbitmq-server.tmpfiles ${D}${prefix}/lib/tmpfiles.d/${BPN}.conf
105 inherit useradd systemd openssl10
107 USERADD_PACKAGES = "${PN}"
108 GROUPADD_PARAM_${PN} = "--system rabbitmq"
109 USERADD_PARAM_${PN} = " \
110 --system --create-home \
111 --home ${localstatedir}/lib/rabbitmq \
112 -g rabbitmq rabbitmq \
115 SYSTEMD_SERVICE_${PN} = "rabbitmq-server.service"
116 SYSTEMD_AUTO_ENABLE_${PN} = "disable"
119 ${RABBIT_LIB_DIR}/* \
120 ${exec_prefix}/lib/* \
124 FILES_${PN}-doc += "LICENSE* INSTALL"
131 INSANE_SKIP_${PN} = "unsafe-references-in-scripts"