11
0

Accepting request 913505 from home:fusionfuture:branches:network:messaging:amqp

- Update to 3.9.4:
  * Bug fixes, see https://www.rabbitmq.com/changelog.html
- Major changes from 3.9.0:
  * Streams: a new messaging abstraction complementary to queues
  * Support for Erlang 24
  * Kubernetes Cluster Operator and Messaging Topology Operator
  * Minimum required Erlang version is now 23.2
- Fix spec file to align with gh#rabbitmq/rabbitmq-packaging/RPMS/Fedora/rabbitmq-server.spec.
- Update rabbitmq-server.service and rabbitmq-server.logrotate.
- Remove unused sources:
  + Already in source:
    * advanced.config.example
    * rabbitmq-script-wrapper
    * rabbitmq.conf.example
    * rabbitmq.config.example
  + Deprecated:
    * rabbitmq-server.init
    * rabbitmq-server.sysconfig

OBS-URL: https://build.opensuse.org/request/show/913505
OBS-URL: https://build.opensuse.org/package/show/network:messaging:amqp/rabbitmq-server?expand=0&rev=166
This commit is contained in:
2021-08-23 08:21:50 +00:00
committed by Git OBS Bridge
parent 1f70311d61
commit 9718db1b4a
15 changed files with 109 additions and 2268 deletions

View File

@@ -32,33 +32,33 @@
%define _make_args DESTDIR="%{buildroot}" PREFIX="%{_prefix}" RMQ_ROOTDIR=%{_rabbit_libdir} RMQ_ERLAPP_DIR=%{_rabbit_erllibdir} MAN_INSTALL_PATH="%{_mandir}" DOC_INSTALL_DIR=%{buildroot}/%{_docdir} VERSION=%{version} V=1
%define _rabbit_server_ocf scripts/rabbitmq-server.ocf
%define _plugins_state_dir %{_localstatedir}/lib/rabbitmq/plugins
%define _rabbit_server_ha_ocf scripts/rabbitmq-server-ha.ocf
%define _rabbitmqctl_autocomplete scripts/rabbitmqctl-autocomplete.sh
%define _rabbitmq_user rabbitmq
%define _rabbitmq_group rabbitmq
Name: rabbitmq-server
Version: 3.8.16
Version: 3.9.4
Release: 0
Summary: A message broker supporting AMQP, STOMP and MQTT
License: MPL-2.0
License: MPLv2.0
Group: System/Daemons
URL: http://www.rabbitmq.com/
Source: https://github.com/rabbitmq/rabbitmq-server/releases/download/v%{version}/rabbitmq-server-%{version}.tar.xz
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
Source1: https://github.com/rabbitmq/rabbitmq-server/releases/download/v%{version}/rabbitmq-server-%{version}.tar.xz.asc
Source3: https://raw.githubusercontent.com/rabbitmq/rabbitmq-packaging/v%{version}/RPMS/Fedora/rabbitmq-server.logrotate
Source4: rabbitmq-env.conf
Source5: rabbitmq-server.sysconfig
Source6: rabbitmq-server.service
Source7: rabbitmq-server.tmpfiles.d.conf
Source7: https://raw.githubusercontent.com/rabbitmq/rabbitmq-packaging/v%{version}/RPMS/Fedora/rabbitmq-server.tmpfiles
Source8: README.SUSE
# from https://raw.githubusercontent.com/rabbitmq/rabbitmq-server/v3.7.x/docs/rabbitmq.conf.example
Source9: rabbitmq.conf.example
Source10: advanced.config.example
Source11: rabbitmq.config.example
BuildRequires: elixir
# https://www.rabbitmq.com/which-erlang.html
BuildRequires: erlang >= 23.2
BuildRequires: erlang-src
BuildRequires: fdupes
BuildRequires: libxslt
# BuildRequires: libxslt
BuildRequires: python3
BuildRequires: rsync
BuildRequires: unzip
@@ -124,35 +124,41 @@ make install %{_make_args}
mkdir -p %{buildroot}%{_sbindir}
install -p -D -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/%{name}.service
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
install -p -D -m 0644 %{SOURCE7} %{buildroot}/usr/lib/tmpfiles.d/rabbitmq-server.conf
install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf
# Use /run instead of deprecated /var/run in tmpfiles.conf (bsc#1185075)
sed -i 's/\/var//' %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf
# Install wrapper scripts
%define _rabbit_wrapper %{_builddir}/`basename %{SOURCE2}`
cp %{SOURCE2} %{_rabbit_wrapper}
sed -i 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' %{_rabbit_wrapper}
sed -i 's|@RABBITMQ_ROOT@|%{_rabbit_erllibdir}/|' %{_rabbit_wrapper}
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_wrapper} %{buildroot}%{_sbindir}/rabbitmq-diagnostics
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-queues
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-upgrade
install -p -D -m 0755 scripts/rabbitmq-server.ocf %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server
install -p -D -m 0755 scripts/rabbitmq-server-ha.ocf %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha
sed \
-e 's|@RABBITMQ_USER@|%{_rabbitmq_user}|' -e 's|@RABBITMQ_GROUP@|%{_rabbitmq_group}|' \
< scripts/rabbitmq-script-wrapper \
> %{buildroot}%{_sbindir}/rabbitmqctl
chmod 0755 %{buildroot}%{_sbindir}/rabbitmqctl
for script in rabbitmq-server rabbitmq-plugins rabbitmq-diagnostics rabbitmq-queues rabbitmq-upgrade rabbitmq-streams; do \
cp -a %{buildroot}%{_sbindir}/rabbitmqctl \
%{buildroot}%{_sbindir}/$script; \
done
install -p -D -m 0755 %{_rabbit_server_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server
install -p -D -m 0755 %{_rabbit_server_ha_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha
# install config files
install -p -D -m 0644 %{SOURCE9} %{buildroot}/%{_sysconfdir}/rabbitmq/rabbitmq.conf
install -p -D -m 0644 %{SOURCE10} %{buildroot}/%{_sysconfdir}/rabbitmq/advanced.config.example
install -p -D -m 0644 %{SOURCE11} %{buildroot}/%{_sysconfdir}/rabbitmq/rabbitmq.config.example
install -p -D -m 0644 deps/rabbit/docs/rabbitmq.conf.example %{buildroot}/%{_sysconfdir}/rabbitmq/rabbitmq.conf
install -p -D -m 0644 deps/rabbit/docs/advanced.config.example %{buildroot}/%{_sysconfdir}/rabbitmq/advanced.config.example
install -p -D -m 0644 deps/rabbit/docs/rabbitmq.conf.example %{buildroot}/%{_sysconfdir}/rabbitmq/rabbitmq.config.example
install -p -D -m 0644 %{SOURCE4} %{buildroot}/%{_sysconfdir}/rabbitmq/rabbitmq-env.conf
# Copy all necessary lib files etc.
install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server
# Install autocomplete scripts
install -p -D -m 0644 %{_rabbitmqctl_autocomplete} %{buildroot}%{_sysconfdir}/profile.d/rabbitmqctl-autocomplete.sh
install -p -D -m 0644 scripts/zsh_autocomplete.sh %{buildroot}%{_datarootdir}/zsh/site-functions/_enable_rabbitmqctl_completion
# Install Erlang client
mkdir -p %{buildroot}%{_libdir}/erlang/lib
for i in amqp_client rabbit_common ; do
unzip %{buildroot}%{_rabbit_erllibdir}/plugins/$i*.ez -d %{buildroot}%{_libdir}/erlang/lib
cp -r %{buildroot}%{_rabbit_erllibdir}/plugins/$i* -d %{buildroot}%{_libdir}/erlang/lib/
done
# Create other necessary directories for RabbitMQ server
@@ -161,21 +167,34 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/rabbitmq/mnesia
mkdir -p %{buildroot}%{_localstatedir}/log/rabbitmq
# Create hardlinks for duplicate files
%fdupes %{buildroot}/usr/share
%fdupes %{buildroot}/%{_datarootdir}
%fdupes %{buildroot}/%{_libdir}
%pre
getent group rabbitmq >/dev/null || groupadd -r rabbitmq
getent passwd rabbitmq >/dev/null || useradd -r -g rabbitmq \
getent group %{_rabbitmq_group} >/dev/null || groupadd -r %{_rabbitmq_group}
getent passwd %{_rabbitmq_user} >/dev/null || useradd -r -g %{_rabbitmq_group} \
-d %{_localstatedir}/lib/rabbitmq \
-s /sbin/nologin \
-c "user for RabbitMQ messaging server" rabbitmq
-c "user for RabbitMQ messaging server" %{_rabbitmq_user}
%service_add_pre %{name}.service
%post
%service_add_post %{name}.service
systemd-tmpfiles --create --clean /usr/lib/tmpfiles.d/rabbitmq-server.conf
if [ -n "$ZSH_VERSION" ]; then
echo "Z Shell detected.
to enable rabbitmqctl autocompletion add the following to your .zshrc file:
autoload _enable_rabbitmqctl_completion; _enable_rabbitmqctl_completion"
fi
%preun
# Clean out plugin activation state, both on uninstall and upgrade
rm -rf %{_plugins_state_dir}
for ext in rel script boot ; do
rm -f %{_rabbit_erllibdir}/ebin/rabbit.$ext
done
%service_del_preun %{name}.service
%postun
@@ -192,8 +211,9 @@ systemd-tmpfiles --create --clean /usr/lib/tmpfiles.d/rabbitmq-server.conf
%{_unitdir}/%{name}.service
/usr/lib/tmpfiles.d/rabbitmq-server.conf
#
%attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/lib/rabbitmq
%attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/log/rabbitmq
%attr(0755, rabbitmq, rabbitmq) %dir %{_localstatedir}/lib/rabbitmq
%attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/lib/rabbitmq/mnesia
%attr(0755, rabbitmq, rabbitmq) %dir %{_localstatedir}/log/rabbitmq
#
%{_sbindir}/rabbitmq-plugins
%{_sbindir}/rabbitmq-server
@@ -202,6 +222,12 @@ systemd-tmpfiles --create --clean /usr/lib/tmpfiles.d/rabbitmq-server.conf
%{_sbindir}/rabbitmq-upgrade
%{_sbindir}/rcrabbitmq-server
%{_sbindir}/rabbitmq-diagnostics
%{_sbindir}/rabbitmq-streams
%{_sysconfdir}/profile.d/rabbitmqctl-autocomplete.sh
%{_datarootdir}/zsh/site-functions/_enable_rabbitmqctl_completion
%ghost %dir /run/rabbitmq
#
%dir /usr/lib/ocf/
%dir /usr/lib/ocf/resource.d/