Hello community, here is the log from the commit of package rabbitmq-server for openSUSE:Factory checked in at 2012-12-17 09:37:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rabbitmq-server (Old) and /work/SRC/openSUSE:Factory/.rabbitmq-server.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rabbitmq-server", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/rabbitmq-server/rabbitmq-server.changes 2012-05-14 16:18:37.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.rabbitmq-server.new/rabbitmq-server.changes 2012-12-17 09:37:21.000000000 +0100 @@ -1,0 +2,36 @@ +Fri Dec 14 13:11:56 UTC 2012 - [email protected] + +- sysconfig file cleanup + * remove unused Variables + * removed variables which can also be set in rabbitmq-env.conf + to avoid sysconfig settings overriding settings from the env + file (bnc#771151) +- Use rc.status functions in init script for prettier startup +- Remove "set -e" from init script (bnc#768175) +- Include OCF RA for use with Pacemaker +- Updated script-wrapper to the latest upstream code + +------------------------------------------------------------------- +Fri Dec 14 12:25:37 UTC 2012 - [email protected] + +- Don't use download_files service, or at least only in mode="localonly" + or mode="disabled". But why using it at all, it makes no sense. + +------------------------------------------------------------------- +Mon Dec 10 16:47:53 UTC 2012 - [email protected] + +- Update to 2.8.7 changes since: + * 2.8.6: This release fixes a number of bugs in the broker, + Erlang client and STOMP and management plugins. + * 2.8.5: This release fixes a number of bugs, including one + introduced in 2.8.5 that could cause an error during shutdown + of mirrored queues. + * 2.8.4: This is primarily a bugfix release, with several + improvements to HA queues. + +------------------------------------------------------------------- +Mon Jul 16 15:52:52 UTC 2012 - [email protected] + +- Updated to 2.8.4 + +------------------------------------------------------------------- Old: ---- rabbitmq-server-2.8.2.tar.gz New: ---- rabbitmq-server-2.8.7.tar.gz rabbitmq-server.ocf ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rabbitmq-server.spec ++++++ --- /var/tmp/diff_new_pack.HstbDJ/_old 2012-12-17 09:37:24.000000000 +0100 +++ /var/tmp/diff_new_pack.HstbDJ/_new 2012-12-17 09:37:24.000000000 +0100 @@ -24,7 +24,7 @@ %endif Name: rabbitmq-server -Version: 2.8.2 +Version: 2.8.7 Release: 0 Summary: The RabbitMQ Server License: MPL-1.1 @@ -32,8 +32,10 @@ Url: http://www.rabbitmq.com/ Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.gz Source1: rabbitmq-server.init +# This comes from: http://hg.rabbitmq.com/rabbitmq-server/raw-file/2da625c0a436/packaging/common/rabbitmq-script-wrapper Source2: rabbitmq-script-wrapper Source3: rabbitmq-server.logrotate +Source4: rabbitmq-server.ocf Source5: rabbitmq-server.sysconfig Patch0: no-nmap.patch Patch1: no-remove-common.patch @@ -112,12 +114,15 @@ # Install wrapper scripts %define _rabbit_wrapper %{_builddir}/`basename %{SOURCE2}` +%define _rabbit_server_ocf %{_builddir}/`basename %{SOURCE4}` cp %{SOURCE2} %{_rabbit_wrapper} sed -i 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' %{_rabbit_wrapper} sed -i 's|/usr/lib/|%{_libdir}/|' %{_rabbit_wrapper} +cp %{SOURCE4} %{_rabbit_server_ocf} install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmqctl install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-server install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-plugins +install -p -D -m 0755 %{_rabbit_server_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server # Copy all necessary lib files etc. install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server @@ -173,6 +178,9 @@ %{_rabbit_erllibdir} %{_initddir}/rabbitmq-server %{_sbindir}/rcrabbitmq-server +%dir /usr/lib/ocf +%dir /usr/lib/ocf/resource.d +%dir /usr/lib/ocf/resource.d/rabbitmq %config(noreplace) %{_sysconfdir}/logrotate.d/rabbitmq-server %doc LICENSE* README %dir %{_rabbit_erllibdir}/plugins ++++++ rabbitmq-script-wrapper ++++++ --- /var/tmp/diff_new_pack.HstbDJ/_old 2012-12-17 09:37:24.000000000 +0100 +++ /var/tmp/diff_new_pack.HstbDJ/_new 2012-12-17 09:37:24.000000000 +0100 @@ -29,7 +29,9 @@ SCRIPT=`basename $0` -if [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then +if [ `id -u` = `id -u rabbitmq` -a "$SCRIPT" = "rabbitmq-server" ] ; then + /usr/lib/rabbitmq/bin/rabbitmq-server "$@" @STDOUT_STDERR_REDIRECTION@ +elif [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then /usr/lib/rabbitmq/bin/${SCRIPT} "$@" elif [ `id -u` = 0 ] ; then @SU_RABBITMQ_SH_C@ "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}" ++++++ rabbitmq-server-2.8.2.tar.gz -> rabbitmq-server-2.8.7.tar.gz ++++++ ++++ 31447 lines of diff (skipped) ++++++ rabbitmq-server.init ++++++ --- /var/tmp/diff_new_pack.HstbDJ/_old 2012-12-17 09:37:24.000000000 +0100 +++ /var/tmp/diff_new_pack.HstbDJ/_new 2012-12-17 09:37:24.000000000 +0100 @@ -16,6 +16,11 @@ # Short-Description: Enable AMQP service provided by RabbitMQ broker ### END INIT INFO +# Source function library +. /etc/rc.status + +rc_reset + PATH=/sbin:/usr/sbin:/bin:/usr/bin NAME=rabbitmq-server DAEMON=/usr/sbin/${NAME} @@ -43,24 +48,17 @@ mkdir -p /var/run/rabbitmq chown rabbitmq. /var/run/rabbitmq -RETVAL=0 -set -e - start_rabbitmq () { status_rabbitmq quiet - if [ $RETVAL = 0 ] ; then - echo RabbitMQ is currently running + if [ $? -eq 0 ] ; then + return 0 else - RETVAL=0 - set +e setsid sh -c "RABBITMQ_PID_FILE=$PID_FILE $DAEMON > \ ${INIT_LOG_DIR}/startup_log 2> ${INIT_LOG_DIR}/startup_err" & $CONTROL wait $PID_FILE >/dev/null 2>&1 - RETVAL=$? - set -e - case "$RETVAL" in + rc=$? + case "$rc" in 0) - echo SUCCESS if [ -n "$LOCK_FILE" ] ; then touch $LOCK_FILE fi @@ -68,20 +66,19 @@ *) rm -f $PID_FILE echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\} - RETVAL=1 + rc=1 ;; esac fi + return $rc } stop_rabbitmq () { status_rabbitmq quiet - if [ $RETVAL = 0 ] ; then - set +e + if [ $? -eq 0 ] ; then $CONTROL stop > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err - RETVAL=$? - set -e - if [ $RETVAL = 0 ] ; then + rc=$? + if [ $rc -eq 0 ] ; then rm -f $PID_FILE if [ -n "$LOCK_FILE" ] ; then rm -f $LOCK_FILE @@ -90,80 +87,79 @@ echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err fi else - echo RabbitMQ is not running - RETVAL=0 + rc=0 fi + return $rc } status_rabbitmq() { - set +e + rc=0 if [ "$1" != "quiet" ] ; then $CONTROL status 2>&1 else $CONTROL status > /dev/null 2>&1 fi - if [ $? != 0 ] ; then - RETVAL=3 + if [ $? -ne 0 ] ; then + rc=3 fi - set -e + return $rc } rotate_logs_rabbitmq() { - set +e + rc=0 $CONTROL rotate_logs ${ROTATE_SUFFIX} if [ $? != 0 ] ; then - RETVAL=1 + rc=1 fi - set -e + return $rc } restart_running_rabbitmq () { status_rabbitmq quiet - if [ $RETVAL = 0 ] ; then + if [ $? -eq 0 ] ; then restart_rabbitmq else echo RabbitMQ is not runnning - RETVAL=0 fi } restart_rabbitmq() { - stop_rabbitmq - start_rabbitmq + $0 stop + $0 start } case "$1" in start) echo -n "Starting $DESC: " start_rabbitmq - echo "$NAME." + rc_status -v ;; stop) echo -n "Stopping $DESC: " stop_rabbitmq - echo "$NAME." + rc_status -v ;; status) status_rabbitmq + rc_status # no verbose here -- status function already prints status out ;; rotate-logs) echo -n "Rotating log files for $DESC: " rotate_logs_rabbitmq + rc_status ;; force-reload|reload|restart) - echo -n "Restarting $DESC: " restart_rabbitmq - echo "$NAME." + rc_status ;; condrestart|try-restart) - echo -n "Restarting $DESC: " restart_running_rabbitmq - echo "$NAME." + rc_status ;; *) echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2 - RETVAL=1 + exit 1 ;; esac -exit $RETVAL +rc_exit ++++++ rabbitmq-server.ocf ++++++ #!/bin/sh ## The contents of this file are subject to the Mozilla Public License ## Version 1.1 (the "License"); you may not use this file except in ## compliance with the License. You may obtain a copy of the License ## at http://www.mozilla.org/MPL/ ## ## Software distributed under the License is distributed on an "AS IS" ## basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ## the License for the specific language governing rights and ## limitations under the License. ## ## The Original Code is RabbitMQ. ## ## The Initial Developer of the Original Code is VMware, Inc. ## Copyright (c) 2007-2012 VMware, Inc. All rights reserved. ## ## ## OCF Resource Agent compliant rabbitmq-server resource script. ## ## OCF instance parameters ## OCF_RESKEY_server ## OCF_RESKEY_ctl ## OCF_RESKEY_nodename ## OCF_RESKEY_ip ## OCF_RESKEY_port ## OCF_RESKEY_config_file ## OCF_RESKEY_log_base ## OCF_RESKEY_mnesia_base ## OCF_RESKEY_server_start_args ## OCF_RESKEY_pid_file ####################################################################### # Initialization: : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/resource.d/heartbeat} . ${OCF_FUNCTIONS_DIR}/.ocf-shellfuncs ####################################################################### OCF_RESKEY_server_default="/usr/sbin/rabbitmq-server" 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_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}} meta_data() { cat <<END <?xml version="1.0"?> <!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd"> <resource-agent name="rabbitmq-server"> <version>1.0</version> <longdesc lang="en"> Resource agent for RabbitMQ-server </longdesc> <shortdesc lang="en">Resource agent for RabbitMQ-server</shortdesc> <parameters> <parameter name="server" unique="0" required="0"> <longdesc lang="en"> The path to the rabbitmq-server script </longdesc> <shortdesc lang="en">Path to rabbitmq-server</shortdesc> <content type="string" default="${OCF_RESKEY_server_default}" /> </parameter> <parameter name="ctl" unique="0" required="0"> <longdesc lang="en"> The path to the rabbitmqctl script </longdesc> <shortdesc lang="en">Path to rabbitmqctl</shortdesc> <content type="string" default="${OCF_RESKEY_ctl_default}" /> </parameter> <parameter name="nodename" unique="0" required="0"> <longdesc lang="en"> The node name for rabbitmq-server </longdesc> <shortdesc lang="en">Node name</shortdesc> <content type="string" default="${OCF_RESKEY_nodename_default}" /> </parameter> <parameter name="ip" unique="0" required="0"> <longdesc lang="en"> The IP address for rabbitmq-server to listen on </longdesc> <shortdesc lang="en">IP Address</shortdesc> <content type="string" default="" /> </parameter> <parameter name="port" unique="0" required="0"> <longdesc lang="en"> The IP Port for rabbitmq-server to listen on </longdesc> <shortdesc lang="en">IP Port</shortdesc> <content type="integer" default="" /> </parameter> <parameter name="config_file" unique="0" required="0"> <longdesc lang="en"> Location of the config file (without the .config suffix) </longdesc> <shortdesc lang="en">Config file path (without the .config suffix)</shortdesc> <content type="string" default="" /> </parameter> <parameter name="log_base" unique="0" required="0"> <longdesc lang="en"> Location of the directory under which logs will be created </longdesc> <shortdesc lang="en">Log base path</shortdesc> <content type="string" default="${OCF_RESKEY_log_base_default}" /> </parameter> <parameter name="mnesia_base" unique="0" required="0"> <longdesc lang="en"> Location of the directory under which mnesia will store data </longdesc> <shortdesc lang="en">Mnesia base path</shortdesc> <content type="string" default="" /> </parameter> <parameter name="server_start_args" unique="0" required="0"> <longdesc lang="en"> Additional arguments provided to the server on startup </longdesc> <shortdesc lang="en">Server start arguments</shortdesc> <content type="string" default="" /> </parameter> <parameter name="pid_file" unique="0" required="0"> <longdesc lang="en"> Location of the file in which the pid will be stored </longdesc> <shortdesc lang="en">Pid file path</shortdesc> <content type="string" default="${OCF_RESKEY_pid_file_default}" /> </parameter> </parameters> <actions> <action name="start" timeout="600" /> <action name="stop" timeout="120" /> <action name="status" timeout="20" interval="10" /> <action name="monitor" timeout="20" interval="10" /> <action name="validate-all" timeout="30" /> <action name="meta-data" timeout="5" /> </actions> </resource-agent> END } rabbit_usage() { cat <<END usage: $0 {start|stop|status|monitor|validate-all|meta-data} Expects to have a fully populated OCF RA-compliant environment set. END } RABBITMQ_SERVER=$OCF_RESKEY_server RABBITMQ_CTL=$OCF_RESKEY_ctl RABBITMQ_NODENAME=$OCF_RESKEY_nodename RABBITMQ_NODE_IP_ADDRESS=$OCF_RESKEY_ip RABBITMQ_NODE_PORT=$OCF_RESKEY_port RABBITMQ_CONFIG_FILE=$OCF_RESKEY_config_file 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 [ ! -z $RABBITMQ_NODENAME ] && NODENAME_ARG="-n $RABBITMQ_NODENAME" [ ! -z $RABBITMQ_NODENAME ] && export RABBITMQ_NODENAME ensure_pid_dir () { PID_DIR=`dirname ${RABBITMQ_PID_FILE}` if [ ! -d ${PID_DIR} ] ; then mkdir -p ${PID_DIR} chown -R rabbitmq:rabbitmq ${PID_DIR} chmod 755 ${PID_DIR} fi return $OCF_SUCCESS } remove_pid () { rm -f ${RABBITMQ_PID_FILE} rmdir `dirname ${RABBITMQ_PID_FILE}` || : } export_vars() { [ ! -z $RABBITMQ_NODE_IP_ADDRESS ] && export RABBITMQ_NODE_IP_ADDRESS [ ! -z $RABBITMQ_NODE_PORT ] && export RABBITMQ_NODE_PORT [ ! -z $RABBITMQ_CONFIG_FILE ] && export RABBITMQ_CONFIG_FILE [ ! -z $RABBITMQ_LOG_BASE ] && export RABBITMQ_LOG_BASE [ ! -z $RABBITMQ_MNESIA_BASE ] && export RABBITMQ_MNESIA_BASE [ ! -z $RABBITMQ_SERVER_START_ARGS ] && export RABBITMQ_SERVER_START_ARGS [ ! -z $RABBITMQ_PID_FILE ] && ensure_pid_dir && export RABBITMQ_PID_FILE } rabbit_validate_partial() { if [ ! -x $RABBITMQ_SERVER ]; then ocf_log err "rabbitmq-server server $RABBITMQ_SERVER does not exist or is not executable"; exit $OCF_ERR_INSTALLED; fi if [ ! -x $RABBITMQ_CTL ]; then ocf_log err "rabbitmq-server ctl $RABBITMQ_CTL does not exist or is not executable"; exit $OCF_ERR_INSTALLED; fi } rabbit_validate_full() { if [ ! -z $RABBITMQ_CONFIG_FILE ] && [ ! -e "${RABBITMQ_CONFIG_FILE}.config" ]; then ocf_log err "rabbitmq-server config_file ${RABBITMQ_CONFIG_FILE}.config does not exist or is not a file"; exit $OCF_ERR_INSTALLED; fi if [ ! -z $RABBITMQ_LOG_BASE ] && [ ! -d $RABBITMQ_LOG_BASE ]; then ocf_log err "rabbitmq-server log_base $RABBITMQ_LOG_BASE does not exist or is not a directory"; exit $OCF_ERR_INSTALLED; fi if [ ! -z $RABBITMQ_MNESIA_BASE ] && [ ! -d $RABBITMQ_MNESIA_BASE ]; then ocf_log err "rabbitmq-server mnesia_base $RABBITMQ_MNESIA_BASE does not exist or is not a directory"; exit $OCF_ERR_INSTALLED; fi rabbit_validate_partial return $OCF_SUCCESS } rabbit_status() { rabbitmqctl_action "status" } rabbit_wait() { rabbitmqctl_action "wait" $1 } rabbitmqctl_action() { local rc local action action=$@ $RABBITMQ_CTL $NODENAME_ARG $action > /dev/null 2> /dev/null rc=$? case "$rc" in 0) ocf_log debug "RabbitMQ server is running normally" return $OCF_SUCCESS ;; 2) ocf_log debug "RabbitMQ server is not running" return $OCF_NOT_RUNNING ;; *) ocf_log err "Unexpected return from rabbitmqctl $NODENAME_ARG $action: $rc" exit $OCF_ERR_GENERIC esac } rabbit_start() { local rc if rabbit_status; then ocf_log info "Resource already running." return $OCF_SUCCESS fi export_vars setsid sh -c "$RABBITMQ_SERVER > ${RABBITMQ_LOG_BASE}/startup_log 2> ${RABBITMQ_LOG_BASE}/startup_err" & # Wait for the server to come up. # Let the CRM/LRM time us out if required rabbit_wait $RABBITMQ_PID_FILE rc=$? if [ "$rc" != $OCF_SUCCESS ]; then remove_pid ocf_log info "rabbitmq-server start failed: $rc" exit $OCF_ERR_GENERIC fi return $OCF_SUCCESS } rabbit_stop() { local rc if ! rabbit_status; then ocf_log info "Resource not running." return $OCF_SUCCESS fi $RABBITMQ_CTL stop rc=$? if [ "$rc" != 0 ]; then ocf_log err "rabbitmq-server stop command failed: $RABBITMQ_CTL stop, $rc" return $rc fi # Spin waiting for the server to shut down. # Let the CRM/LRM time us out if required stop_wait=1 while [ $stop_wait = 1 ]; do rabbit_status rc=$? if [ "$rc" = $OCF_NOT_RUNNING ]; then remove_pid stop_wait=0 break elif [ "$rc" != $OCF_SUCCESS ]; then ocf_log info "rabbitmq-server stop failed: $rc" exit $OCF_ERR_GENERIC fi sleep 1 done return $OCF_SUCCESS } rabbit_monitor() { rabbit_status return $? } case $__OCF_ACTION in meta-data) meta_data exit $OCF_SUCCESS ;; usage|help) rabbit_usage exit $OCF_SUCCESS ;; esac if ocf_is_probe; then rabbit_validate_partial else rabbit_validate_full fi case $__OCF_ACTION in start) rabbit_start ;; stop) rabbit_stop ;; status|monitor) rabbit_monitor ;; validate-all) exit $OCF_SUCCESS ;; *) rabbit_usage exit $OCF_ERR_UNIMPLEMENTED ;; esac exit $? ++++++ rabbitmq-server.sysconfig ++++++ --- /var/tmp/diff_new_pack.HstbDJ/_old 2012-12-17 09:37:24.000000000 +0100 +++ /var/tmp/diff_new_pack.HstbDJ/_new 2012-12-17 09:37:24.000000000 +0100 @@ -1,10 +1,3 @@ -## Type: integer -## Default: 1 -# -# Defines how many rabbitmq nodes to start -# -NODE_COUNT="1" - ## Type: string ## Default: "" # @@ -18,58 +11,3 @@ # Defines the location of the log files # INIT_LOG_DIR="/var/log/rabbitmq" - -## Type: string -## Default: "/var/lib/rabbitmq/mnesia" -# -# Set this to the directory where Mnesia database files should be placed. -# -RABBITMQ_MNESIA_BASE="/var/lib/rabbitmq/mnesia" - -## Type: string -## Default: "/var/log/rabbitmq" -# -# Log files generated by the server will be placed in this directory. -# -RABBITMQ_LOG_BASE="/var/log/rabbitmq" - -## Type: string -## Default: "rabbit" -# -# This can be useful if you want to run more than one node per machine - -# RABBITMQ_NODENAME should be unique per erlang-node-and-machine -# combination. See clustering on a single machine for more. -# -RABBITMQ_NODENAME="rabbit" - -## Type: string -## Default: "0.0.0.0" -# -# This can be changed if you only want to bind to one network interface. -# -RABBITMQ_NODE_IP_ADDRESS="0.0.0.0" - -## Type: integer -## Default: 5672 -# -# This can be changed if you want to listen on a non-standard port. -# -RABBITMQ_NODE_PORT="5672" - -## Type: string -## Default: "/etc/rabbitmq/rabbitmq_cluster.config" -# -# If this file is present it is used by the server to auto-configure a -# RabbitMQ cluster. See the clustering guide for details. -# -RABBITMQ_CLUSTER_CONFIG_FILE="/etc/rabbitmq/rabbitmq_cluster.config" - -## Type: string -## Default: "/etc/rabbitmq/rabbitmq" -# -# If this file is present it is used by the server to configure RabbitMQ -# application components. Note that the .config extension is automatically -# appended by the Erlang runtime. See the section on the configuration file -# for details. -# -RABBITMQ_CONFIG_FILE="/etc/rabbitmq/rabbitmq" -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
