diff --git a/rabbitmq-server-0001-Add-systemd-notify-support.patch b/rabbitmq-server-0001-Add-systemd-notify-support.patch new file mode 100644 index 0000000..e16e492 --- /dev/null +++ b/rabbitmq-server-0001-Add-systemd-notify-support.patch @@ -0,0 +1,46 @@ +From 7c4364a25d6b42df1624cb223b83f053f1a1b70a Mon Sep 17 00:00:00 2001 +From: John Eckersberg +Date: Mon, 16 Jun 2014 14:57:27 -0400 +Subject: [PATCH 1/1] Add systemd notify support + +Conflicts: + src/rabbit.erl +--- + src/rabbit.erl | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/src/rabbit.erl b/src/rabbit.erl +index 2baec88..8f52d16 100644 +--- a/src/rabbit.erl ++++ b/src/rabbit.erl +@@ -336,6 +336,7 @@ boot() -> + false), + ok = app_utils:start_applications( + StartupApps, fun handle_app_error/2), ++ ok = notify_startup(), + ok = log_broker_started(Plugins) + end). + +@@ -774,3 +775,19 @@ start_fhc() -> + rabbit_sup:start_restartable_child( + file_handle_cache, + [fun rabbit_alarm:set_alarm/1, fun rabbit_alarm:clear_alarm/1]). ++ ++have_systemd_notify() -> ++ try sd_notify:module_info() of ++ _InfoList -> ++ true ++ catch ++ _:_ -> ++ false ++ end. ++ ++notify_startup() -> ++ case have_systemd_notify() of ++ true -> ++ sd_notify:sd_notify(0, "READY=1"); ++ _ -> ok ++ end. +-- +1.9.0 + diff --git a/rabbitmq-server.service b/rabbitmq-server.service index 193661d..90f1553 100644 --- a/rabbitmq-server.service +++ b/rabbitmq-server.service @@ -3,18 +3,12 @@ Description=RabbitMQ broker After=syslog.target network.target [Service] -Type=simple +Type=notify User=rabbitmq Group=rabbitmq -Environment=RABBITMQ_PID_FILE=/var/run/rabbitmq/pid WorkingDirectory=/var/lib/rabbitmq -# Ensure cookie is created to avoid race -# See https://bugzilla.redhat.com/show_bug.cgi?id=1059913 -ExecStartPre=-/bin/sh -c "/usr/lib/rabbitmq/bin/rabbitmqctl status > /dev/null 2>&1" ExecStart=/usr/lib/rabbitmq/bin/rabbitmq-server -ExecStartPost=/usr/lib/rabbitmq/bin/rabbitmqctl wait /var/run/rabbitmq/pid ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctl stop -ExecStopPost=/usr/bin/rm /var/run/rabbitmq/pid [Install] WantedBy=multi-user.target diff --git a/rabbitmq-server.spec b/rabbitmq-server.spec index ac4f70e..b60196f 100644 --- a/rabbitmq-server.spec +++ b/rabbitmq-server.spec @@ -3,7 +3,7 @@ Name: rabbitmq-server Version: 3.1.5 -Release: 8%{?dist} +Release: 9%{?dist} License: MPLv1.1 Group: Development/Libraries Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.gz @@ -26,6 +26,7 @@ Requires: erlang-mnesia%{?_isa} >= %{erlang_minver} Requires: erlang-os_mon%{?_isa} >= %{erlang_minver} Requires: erlang-public_key%{?_isa} >= %{erlang_minver} Requires: erlang-sasl%{?_isa} >= %{erlang_minver} +Requires: erlang-sd_notify%{?_isa} Requires: erlang-ssl%{?_isa} >= %{erlang_minver} Requires: erlang-stdlib%{?_isa} >= %{erlang_minver} Requires: erlang-tools%{?_isa} >= %{erlang_minver} @@ -52,6 +53,9 @@ Requires(preun):initscripts # https://bugzilla.redhat.com/show_bug.cgi?id=1032595#c8 Patch0: rabbitmq-probe-ephemeral-port.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1103524 +Patch1: rabbitmq-server-0001-Add-systemd-notify-support.patch + %description RabbitMQ is an implementation of AMQP, the emerging standard for high performance enterprise messaging. The RabbitMQ server is a robust and @@ -70,6 +74,7 @@ scalable implementation of an AMQP broker. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build cp %{S:2} %{_rabbit_wrapper} @@ -200,6 +205,9 @@ done rm -rf %{buildroot} %changelog +* Wed Jul 02 2014 John Eckersberg - 3.1.5-9 +- Add systemd notify support (RHBZ#1103524) + * Sun Jun 08 2014 Fedora Release Engineering - 3.1.5-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild