diff --git a/no-remove-common.patch b/no-remove-common.patch
index 0765244..39e3381 100644
--- a/no-remove-common.patch
+++ b/no-remove-common.patch
@@ -1,6 +1,8 @@
---- Makefile.orig 2013-03-13 11:32:13.354753804 +0100
-+++ Makefile 2013-03-13 11:32:32.695820378 +0100
-@@ -110,7 +110,6 @@
+Index: Makefile
+===================================================================
+--- Makefile.orig
++++ Makefile
+@@ -120,7 +120,6 @@ plugins:
mkdir -p $(PLUGINS_DIR)
PLUGINS_SRC_DIR="" $(MAKE) -C "$(PLUGINS_SRC_DIR)" plugins-dist PLUGINS_DIST_DIR="$(CURDIR)/$(PLUGINS_DIR)" VERSION=$(VERSION)
echo "Put your EZs here and use rabbitmq-plugins to enable them." > $(PLUGINS_DIR)/README
diff --git a/rabbitmq-script-wrapper b/rabbitmq-script-wrapper
index 7feb2ef..38611c5 100644
--- a/rabbitmq-script-wrapper
+++ b/rabbitmq-script-wrapper
@@ -16,13 +16,14 @@
##
# Escape spaces and quotes, because shell is revolting.
+CMDLINE=""
for arg in "$@" ; do
- # Escape quotes in parameters, so that they're passed through cleanly.
- arg=$(sed -e 's/"/\\"/g' <<-END
- $arg
- END
- )
- CMDLINE="${CMDLINE} \"${arg}\""
+ # Escape quotes in parameters, so that they're passed through cleanly.
+ arg=$(sed -e 's/"/\\"/g' <<-END
+$arg
+END
+ )
+ CMDLINE="${CMDLINE} \"${arg}\""
done
cd /var/lib/rabbitmq
diff --git a/rabbitmq-server-3.5.1.tar.gz b/rabbitmq-server-3.5.1.tar.gz
deleted file mode 100644
index 0eb507d..0000000
--- a/rabbitmq-server-3.5.1.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bda603b37ba933eab2b7fd9cdb9b138b793ad030cd5cb7824bc794754b76ca0d
-size 3723354
diff --git a/rabbitmq-server-3.5.4.tar.gz b/rabbitmq-server-3.5.4.tar.gz
new file mode 100644
index 0000000..d3ee78c
--- /dev/null
+++ b/rabbitmq-server-3.5.4.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f79814d5fd5574734f599ef570ddace02ce4e47a1441cd052c568cde4d6ca3a4
+size 3730770
diff --git a/rabbitmq-server.changes b/rabbitmq-server.changes
index 58d79df..33c4dbe 100644
--- a/rabbitmq-server.changes
+++ b/rabbitmq-server.changes
@@ -1,3 +1,39 @@
+-------------------------------------------------------------------
+Thu Apr 14 14:30:39 UTC 2016 - aplanas@suse.com
+
+Fix bsc#973999
+- rabbitmq-server.service: increase NOFILE limit per documentation
+- rabbitqm-server.ocf: add OCF_RESKEY_limit_nofile parameter
+ default as 65535
+
+-------------------------------------------------------------------
+Mon Sep 28 10:01:29 UTC 2015 - dmueller@suse.com
+
+- rabbitmqctl: clear CMDLINE before appending
+
+-------------------------------------------------------------------
+Thu Sep 24 10:17:52 UTC 2015 - dmueller@suse.com
+
+- update to 3.5.4:
+ Runtime I/O thread pool size is now 64 instead of 30 by default.
+ This reduces time spent waiting for file I/O operations to complete
+ on machines with 8 or more cores.
+ * https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_4
+
+-------------------------------------------------------------------
+Wed Jun 24 13:22:48 UTC 2015 - dmueller@suse.com
+
+- rabbitmq-server.service: switch to type=Notify in order to
+ avoid cookie creation race
+
+-------------------------------------------------------------------
+Tue Jun 23 17:26:24 UTC 2015 - tbechtold@suse.com
+
+- update to 3.5.3:
+ 3.5.2 and 3.5.3 are bugfix releases. See:
+ * https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_2
+ * https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_3
+
-------------------------------------------------------------------
Sun Apr 12 01:56:58 UTC 2015 - mrueckert@suse.de
diff --git a/rabbitmq-server.ocf b/rabbitmq-server.ocf
index 8f16cd4..af04598 100644
--- a/rabbitmq-server.ocf
+++ b/rabbitmq-server.ocf
@@ -30,6 +30,7 @@
## OCF_RESKEY_mnesia_base
## OCF_RESKEY_server_start_args
## OCF_RESKEY_pid_file
+## OCF_RESKEY_limit_nofile
#######################################################################
# Initialization:
@@ -44,11 +45,13 @@ OCF_RESKEY_ctl_default="/usr/sbin/rabbitmqctl"
OCF_RESKEY_nodename_default="rabbit@localhost"
OCF_RESKEY_log_base_default="/var/log/rabbitmq"
OCF_RESKEY_pid_file_default="/var/run/rabbitmq/pid"
+OCF_RESKEY_limit_nofile_default="65535"
: ${OCF_RESKEY_server=${OCF_RESKEY_server_default}}
: ${OCF_RESKEY_ctl=${OCF_RESKEY_ctl_default}}
: ${OCF_RESKEY_nodename=${OCF_RESKEY_nodename_default}}
: ${OCF_RESKEY_log_base=${OCF_RESKEY_log_base_default}}
: ${OCF_RESKEY_pid_file=${OCF_RESKEY_pid_file_default}}
+: ${OCF_RESKEY_limit_nofile=${OCF_RESKEY_limit_nofile_default}}
meta_data() {
cat <
+
+
+Soft and hard limit for NOFILE
+
+NOFILE limit
+
+
+
@@ -176,6 +187,7 @@ RABBITMQ_LOG_BASE=$OCF_RESKEY_log_base
RABBITMQ_MNESIA_BASE=$OCF_RESKEY_mnesia_base
RABBITMQ_SERVER_START_ARGS=$OCF_RESKEY_server_start_args
RABBITMQ_PID_FILE=$OCF_RESKEY_pid_file
+RABBITMQ_LIMIT_NOFILE=$OCF_RESKEY_limit_nofile
[ ! -z $RABBITMQ_NODENAME ] && NODENAME_ARG="-n $RABBITMQ_NODENAME"
[ ! -z $RABBITMQ_NODENAME ] && export RABBITMQ_NODENAME
@@ -204,6 +216,10 @@ export_vars() {
[ ! -z $RABBITMQ_PID_FILE ] && ensure_pid_dir && export RABBITMQ_PID_FILE
}
+set_limits() {
+ [ ! -z $RABBITMQ_LIMIT_NOFILE ] && ulimit -n $RABBITMQ_LIMIT_NOFILE
+}
+
rabbit_validate_partial() {
if [ ! -x $RABBITMQ_SERVER ]; then
ocf_log err "rabbitmq-server server $RABBITMQ_SERVER does not exist or is not executable";
@@ -276,6 +292,9 @@ rabbit_start() {
export_vars
+ # RabbitMQ requires high soft and hard limits for NOFILE
+ set_limits
+
setsid sh -c "$RABBITMQ_SERVER > ${RABBITMQ_LOG_BASE}/startup_log 2> ${RABBITMQ_LOG_BASE}/startup_err" &
# Wait for the server to come up.
diff --git a/rabbitmq-server.service b/rabbitmq-server.service
index 55e31d6..719e096 100644
--- a/rabbitmq-server.service
+++ b/rabbitmq-server.service
@@ -1,18 +1,16 @@
[Unit]
Description=RabbitMQ broker
-After=epmd.socket syslog.target network.target
-Requires=epmd.socket
+After=syslog.target network.target
[Service]
-Type=simple
+Type=notify
User=rabbitmq
Group=rabbitmq
-Environment=RABBITMQ_PID_FILE=/var/run/rabbitmq/pid
+LimitNOFILE=65535
+NotifyAccess=all
WorkingDirectory=/var/lib/rabbitmq
ExecStart=/usr/sbin/rabbitmq-server
-ExecStartPost=/usr/sbin/rabbitmqctl wait /var/run/rabbitmq/pid
ExecStop=/usr/sbin/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 f6aef51..d4c6dc3 100644
--- a/rabbitmq-server.spec
+++ b/rabbitmq-server.spec
@@ -1,7 +1,7 @@
#
# spec file for package rabbitmq-server
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
%endif
Name: rabbitmq-server
-Version: 3.5.1
+Version: 3.5.4
Release: 0
Summary: The RabbitMQ Server
License: MPL-1.1
@@ -60,8 +60,9 @@ Requires(pre): %fillup_prereq
Requires(pre): %insserv_prereq
%if 0%{?suse_version} > 1140
BuildRequires: systemd
-%{?systemd_requires}
-%define have_systemd 1
+%{?systemd_requires}
+%define have_systemd 1
+Requires: erlang-sd_notify
%else
Requires: %fillup_prereq
Requires: %insserv_prereq